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

Luk*_*een 25 php sql sql-injection

我已经搜索过并在SO上找到了一个很好的讨论,但它已有几年了.

有什么程序,或者我可以运行一个简单的脚本,在我的整个站点的URL中找到SQL注入漏洞?

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

这存在吗?

Jas*_*onG 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)漏洞,但只有经过培训的人员才能使用这些工具对其进行验证.此外,只有正确的代码审查和分析才能识别应用程序(即使是非常好的应用程序)可能遗漏的漏洞.

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


Zac*_*ner 9

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

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