【51CTO.com独家翻译】您需要是不是正要检测在线数据库的漏洞呢?正好,HP为我们提供了一个免费工具来检测网站是否存在SQL注入漏洞。HP Scrawlr能够爬行您的站点,以查找代码中的安全漏洞。这款软件是免费的,并且很容易上手。
引言
SQL数据库是目前世界上最快的一种数据库,每秒钟可以完成数百万次的事务处理。使用PHP和ASP代码处理SQL连接的时候,如果代码写的不好的话,就会为网站的安全留下隐患:黑客可以通过插入代码来获得您的服务器上数据库的控制权。所以,一定要保护好您的SQL数据库。测试软件和网络的安全性应该成为安全审计的一部分。HP为我们提供了扫描网站的SQL漏洞的免费软件。Scrawlr只可用于合法地扫描您自己的站点,而不得用于您的组织之外的站点。安全分析人员进行渗透测试时,应当将这款软件也纳入到他们的安全工具库中。
HP Scrawlr
Hewlett Packard公司提供了一款免费的工具,供人们用来爬行他们的站点,并从中查找安全漏洞。Scrawlr是由HP的web安全研究团队开发的,可用于对单独的网页进行SQL注入漏洞的检测和利用。这个程序运行速度非常快;在运行期间,它可以利用HP的智能引擎技术来创建和动态执行SQL注入。最后,它还能提高一份简单的报告来供管理员分析有关结果。如果该程序成功的话,您就会看到数据库和各种表。
Scrawlr
下面是Scrawlr的两个截图:
SQL注入
黑客可以使用简单的SQL命令来进行插入、删除操作,甚至能控制整个数据库。黑客可以先在web中查找数据库,然后通过简单的注入命令来返回机密数据,并将其复制粘贴到自己的机器中。下面是一个简单的SQL注入范例:
下面我们来绕过登录表单。这里是来自实际应用代码片段:
SQLQuery = "SELECT Username FROM Users WHERE
Username = ‘" &
strUsername & "‘ AND Password = ‘" & strPassword & "‘"
strAuthCheck = GetQueryResult(SQLQuery)
If strAuthCheck = "" Then
boolAuthenticated = False
Else
boolAuthenticated = True
End If
这是一个典型的登录处理,终端用户来到站点,然后提交他们的用户名和口令。随后,这个查询从“Users”表中寻找是否有与提供的用户名和口令匹配的记录。对于糟糕的ASP代码或者PHP代码,黑客将能使用下列类型的代码来发动进攻。
注入代码:
用户名:‘ OR ‘‘=‘
口令:‘ OR ‘‘=‘
这个会使SQLQuery变成下面的样子:
SELECT Username FROM Users WHERE Username = ‘‘
OR ‘‘=‘‘ AND
Password = ‘‘ OR ‘‘=‘‘
这样,黑客只是在应该输入有效用户名的地方键入了一个字符串:‘ OR ‘‘=‘,就轻而易举地绕过了登录屏。
结束语
执行SQL注入的方法数以千计,这里介绍的并不是理想的“黑客”代码。本文不是关于黑客技术的,而是关于如何保护您的网站的。 HP只是众多能够保护您的网站中的工具之一。对于保护您的信息资产来说,渗透测试是一种重要的手段。它不仅有助于测试代码,而且还能帮您测试防火墙。不过Scrawlr软件也有其不足之处,例如:
•最多只能爬行1500个URL地址
•在爬行期间无法进行脚本解析
•在爬行期间无法解析Flash
•在爬行期间无法提交表单
•仅有简单的代理支持
•没有身份验证或者登录功能
•不能检测SQL盲注
任何软件都不是十全十美的,但是它们对于安全漏洞和漏洞利用测试来说确实是非常有帮助的。如果站点仅通过了一种安全软件的测试,就以为高枕无忧那就太盲目了。感谢HP有为我们带来了一个软件“帮手”!
【51CTO.com独家翻译,转载请注明作者及出处】