如何使用脚本或程序自动测试我的网站的SQL注入攻击?

时间:2012-03-13 14:20:32

标签: php sql sql-injection

我搜索过并发现good discussion here on SO,但已经有好几年了。

我可以运行哪些程序,或者是否有一个简单的脚本来查找整个站点中URL的SQL注入漏洞?

最好,我想运行一个脚本(PHP)或程序来抓取我的网站,从链接到链接反弹,试图找到漏洞,并在发现时存储该URL,以便我有一个我需要的URL列表修复。

这是否存在?

6 个答案:

答案 0 :(得分:17)

是和否。首先,我要说的是,我不只是发布链接,而是使用所有这些工具专业地进行安全审计,而不是作为项目的开发人员而是外部资源。请注意,通常sqlserver注入也不同于mysql。

免费工具,如paros proxy [crawls](前面提到过),

burpsuite(之前提及[抓取]但主动攻击需要亲):http://portswigger.net/burp/

sqlninja(仅限sqlserver)http://sqlninja.sourceforge.net/

google rat proxy:[抓取] http://code.google.com/p/ratproxy/

websecurify:[抓取] http://www.websecurify.com/

wapiti:[抓取但需要设置工作 - 可以专门用于带有蜘蛛的sqli] http://wapiti.sourceforge.net/

nikto:[抓住但不是sqli ...]

很棒!它们可以帮助您发现问题,但由于大量的误报,需要进行大量的人工分析。商业工具如:

NTOSpider(最好的[抓取!]之一):http://www.ntobjectives.com/software/ntospider

是非常昂贵的,但与代表交谈将获得一段时间的免费副本(我已经完成了它们)。他们通过在报告中提供验证链接来更快地对结果进行排序,但您仍然需要经过训练的眼睛和分析,因为我发现了误报。

最终这个问题的正确答案是: 您可以使用工具来帮助您确定是否存在安全(sqli)漏洞,但只有经过培训的人员才能使用这些工具对其进行验证。此外,只有正确的代码审查和分析才能识别应用程序(即使是非常好的应用程序)可能遗漏的漏洞。

工具可以提供帮助,但您需要人工时间和分析来正确执行此操作。代理和请求管理器是注入应用程序的真正工具,并且经过培训的测试人员或有好奇心的人的仔细意图完成。

答案 1 :(得分:9)

我有两个最喜欢的工具(都是免费的):

  1. sqlmap - 您为其提供了一个URL,它会自动扫描漏洞。如果它进入,它会给你一个SQL提示符。
  2. Paros Proxy - 这个设置需要更长的时间。您必须将浏览器配置为使用代理,然后使用您的站点(登录,导航到其他页面等)。完成后,它将分析其所有请求的缓存,并显示其发现的潜在漏洞的报告。

答案 2 :(得分:4)

Burp Scanner非常适合查找SQL注入以及其他各种内容。你必须为扫描仪支付300美元,但是在查看市场上的其他扫描仪时这相当便宜。

详细说明,您正在寻找的是Web应用程序漏洞扫描程序。这些将抓取您的网站并将攻击媒介发送到各种参数。在我使用的所有扫描仪中,Burp给了我最好的结果并且性能很好。如果您正在寻找一个免费的替代方案,您可以尝试Grendel Scan它有一段时间没有更新,但仍然可以很好地工作。特别是对于免费工具。

以下是其他一些漏洞扫描程序的list。我相信你会找到满足你需求的东西。

答案 3 :(得分:2)

有一些程序可以检测SQL注入,例如:

答案 4 :(得分:2)

市场上有大量工具可用于抓取所有页面并检测SQL注入。你应该阅读这个讨论,它永远不会迟到How can I prevent SQL injection in PHP?Testing for security vulnerabilities in web applications: Best practices?

我建议Wapiti查找网络应用程序漏洞。 Acunetix价格过高。

查看更多:

答案 5 :(得分:0)

我在我的网站上测试的内容:

如果您有登录表单,请尝试输入:

用户名字段:anytext或1 = 1'

密码字段:anypassword

如果你没有在代码中覆盖sql注入,你可以通过它登录。

谢谢