代码改变世界

Sqlmap :一款开源的流行的渗透测试工具

2015-02-11 12:33  挨踢虫  阅读(717)  评论(0编辑  收藏  举报

Sqlmap 是一款开源的流行的渗透测试工具,进行自动化的检测过程和利用一些SQL注入缺陷来接管数据库服务。

Sqlmap 支持HTTP cookie特性,所有它可以有两种用途:

1、当Web应用需要的时候进行基于cookie的鉴权;

2、检测和利用SQL注入在这样的头字段的值。

默认情况下的Sqlmap支持GET参数和POST参数。当level的值被设置为2或者更高,它同时也测试HTTP Cookie header的值。当被设置为3或者更高,它也测试 HTTP User-Agent 和 HTTP Referer header 的SQL注入。它可能手动指定表为你想Sqlmap能够测试的。它同样也依赖level设定的值。 

Tested HTTP parameter Level in sqlmap  GET 1 (Default)  POST 1 (Default)  HTTP Cookie 2 ≥  HTTP User-Agent 3 ≥  HTTP Referer 3 ≥

例如,只测试GET 参数的id和HTTP User-Agent ,提供 -p id,user-agent。

下面的这个例子是如何测试参数为security的HTTP Cookie:

./sqlmap.py -u 'http://127.0.0.1/vulnerabilities/sqli/?id=1&Submit=Submit#'  --cookie='PHPSESSID=0e4jfbrgd8190ig3uba7rvsip1; security=low'  --string='First name' --dbs --level 3 -p PHPSESSID

–string标记比较有效页和那些由于注入导致的无效页,另一反面 –dbs 标志常常用来枚举数据库管理系统,最后,标记-p集中测试与PHPSESSID变量。 

关于SQL注入的工具:选择它的检测精度或者是输入向量的覆盖率

为了回答这个问题,我们已经发掘出结果通过sectoolmarket.com提供的基准点,我们可以假设候选的扫描器的检测精度和输入向量的覆盖率一样重要支持,我们考虑 GET, POST, HTTP Cookie 和 HTTP Headers 作为输入向量应该被支持。当所有的这些参数被支持,这个扫描器的覆盖率是100%。我们建议下面方程的算法,意味着适应一个平均分数的漏洞扫描器。

在平均获得检查的精度的比例之后,我们得到一份下面的结果(前14位的扫描器): 

Rank Vulnerability Scanner Vendor Detection Rate Input Vector Coverage Average Score  1 Arachni Tasos Laskos 100.00% 100% 100.00%  2 Sqlmap sqlmap developers 97.06% 100% 98,53%  3 IBM AppScan IBM Security Sys Division 93.38% 100% 96,69%  4 Acunetix WVS Acunetix 89.71% 100% 94,85%  5 NTOSpider NT OBJECTives 85.29% 100% 92,64%  6 Nessus Tenable Network Security 82.35% 100% 91,17%  7 WebInspect HP Apps Security Center 75.74% 100% 87,87%  8 Burp Suite Pro PortSwigger 72.06% 100% 86,03%  9 Cenzic Pro Cenzic 63.24% 100% 81,62%  10 SkipFish Michal Zalewski – Google 50.74% 100% 75,37%  11 Wapiti OWASP 100.00% 50% 75.00%  12 Netsparker Mavituna Security 98.00% 50% 74.00%  13 Paros Pro MileSCAN Technologies 93.38% 50% 71,69%  14 ZAP OWASP 77,21% 50% 63,60%

我们可以展示一个图表代表着漏洞扫描器通过他们的平均得分,定义了它们的检测精度队友SQL注入缺陷和他们的输入向量的覆盖率。