如何使用脚本或程序自动测试站点是否存在 SQL 注入攻击?[已关闭]

2022-08-30 16:41:40

我搜索了一下,在这里找到了一个关于SO的很好的讨论,但它已经有几年的历史了。

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

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

这存在吗?


答案 1

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

免费工具,如paros代理[爬行](前面提到过),

burpsuite(前面提到的[爬行],但主动攻击需要专业):http://portswigger.net/burp/

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

谷歌老鼠代理:[爬行]http://code.google.com/p/ratproxy/

网络安全:[抓取] http://www.websecurify.com/

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

nikto: [crawls, 但不是 sqli...]

都很棒!它们可以帮助您识别问题,但由于大量误报,因此需要大量的人工分析。商业工具有以下几种:

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

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

最终,这个问题的正确答案是:您可以使用工具来帮助您识别是否存在安全(sqli)漏洞,但只有使用这些工具的训练有素的眼睛才能验证它们。此外,只有适当的代码审查和分析才能识别应用程序(即使是非常好的应用程序)可能错过的漏洞。

工具可以提供帮助,但您需要人工时间和分析才能正确执行此操作。代理和请求管理器是使用注入击中应用程序的真正工具,并且是训练有素的测试人员或具有好奇心的人的谨慎意图完成的。


答案 2

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

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

推荐