|
最近,很多网站都在建设各种网络应用软件,以期为用户提供更好的服务,这其中尤以各种创建、编辑和管理内容的应用软件为多。这些系统提供了很多基于用户输入信息的强大互动特性,值得注意的是,考虑安全问题,避免第三方的恶意攻击并确保最佳的用户体验也变得更为重要。
黑客攻击的类型及拦截方式:
黑客可以采取多种不同的攻击方式部分或全部控制一个网站。一般来说,最常见和最危险的是SQL植入(injection)和跨站点脚本(XSS,cross-site scripting ) 。
SQL植入是一种在网络应用程序中植入恶意代码的技术,它利用数据库层面的安全漏洞以达到非法控制数据库目的。这种技术非常强大,它可以操纵网址(查询字符串)或其他任何形式(搜索,登录,电子邮件注册)以植入恶意代码。您可以在网络应用安全联盟(英文)中找到一些关于SQL植入的例子。
为避免此类黑客攻击的发生的确有法可循。举例来说,在前端界面和后端数据库之间增加一个“中间层”就是一种很好的做法。在PHP中,PDO(PHP Data Objects)扩展通常与参数(有时被称作placeholder或绑定变量)共同发生作用,而不是直接将用户输入做为命令语句。另一种极为简单的技术 是字符转义,通过这种方式,所有可以直接影响数据库结构的危险字符都可以被转义。例如,参数中每出现一个单引号[ ' ]必须代之以两个单引号[ ' ' ]来形成一个有效的SQL字符串。这只是两种您可以采取的、最常见的用以改进网站安全并避免SQL植入的有效方式。您还可以在网上找到许多其他符合您需求的资源(编程语言,具体的Web应用程序等)。
下面我们要介绍的是跨站点脚本( XSS )技术 。跨站点脚本是一种通过利用网络应用程序层面的安全漏洞,在网页中植入恶意代码的技术。当网络应用程序处理通过用户输入获得的数据,并且在返回给最终用户前没有任何进一步的检查或验证时,这种攻击就可能发生。您可以在网络应用安全联盟(英文)中找到一些跨站点脚本的例子。
有许多办法可以确保网络应用程序不被这种技术侵犯。一些简便易行的方法包括:
剔除可以被插入到表单中的数据输入(例如,PHP中的strip tags功能);
利用数据编码,避免潜在恶意字符的直接植入(例如,PHP中的htmlspecialchars功能);
在数据输入和数据库端之间创建一个“层”,以避免应用程序代码被直接植入恶意字符。
一些有关CMSs安全的资源
SQL植入和跨站点脚本只不过是黑客用来攻击和利用无辜网站的多种技术中的其中两种。作为一般的安全准则,在网络安全问题上特别是在使用第三方软件时,一直保持更新以确保您安装了最新版本的软件是非常重要的。许多围绕大型建站社区建设的网络应用程序都提供持续的支持和软件升级。
下面举个例子,开放源码内容管理系统的最大的四个社区——Joomla, WordPress, PHP-Nuke 和 Drupa都在他们的网站上提供关于网络安全方面的知识并且设有大型社区驱动论坛,用户可以提出问题或寻求支持。例如,在Hardening WordPress,WordPress提供了如何加强CMS安全的综合性帮助文件。 Joomla提供了许多有关网络安全的资源,特别是其中的网络安全检查清单,这些操作都是网络管理员应该采用的。
一些识别黑客攻击您网站的方法:
如上所述,黑客可能采用很多不同方式攻击您的网站,也采用多种方法恶意利用无辜的网站。当黑客能够完全控制一个网站时,他们可以把主页彻底更换掉,清除所有的内容(删除您的数据库表),插入恶意软件或Cookie盗取程序。他们还可以利用您的网站制造网络垃圾,比如在您的网站隐藏指向垃圾网页的链接或建立重定向到恶意软件网站的页面。当变化很明显(比如主页被更换)时 ,您可以轻松地辨别出黑客攻击,但对于其他类型的攻击,特别是那些带有制造网络垃圾意图的攻击,就比较不易被人察觉。谷歌提供了一些产品和方法,帮助网站管理员发现自己的网站是否未经许可而被第三方攻击或更改。例如,通过使用谷歌搜索,您可以检查黑客是否将特定的恶意关键词添加到您的网站,并能找出您网站上被攻击的具体网页。打开google.cn/,用[site:domain name]来搜索您的网站,查看黑客是否把一些常用的网络垃圾关键词添加到了您的网站(如伟哥, 色情, MP3, 赌博等) : |
|
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|