sqlmap中文手册 (2)

使用参数“-l”指定一个Burp或WebScarab的代理日志文件,Sqlmap将从日志文件中解析出可能的攻击目标,并逐个尝试进行注入。该参数后跟一个表示日志文件的路径。

WebScarab我没有用过,Burp倒是常常会用。Burp默认不记录日志,想要记录日志需要手动开启,设置方法如下图所示:

 

只用勾选代理中的请求数据就足够了,日志文件路径可随意设置,这里我设置日志文件名为proxy.log,放在用户主目录中。

设置浏览器的代理为Burp,随便浏览几个网页后发现proxy.log竟然已经有70多K大,查看其内容,部分输出如下:

  werner@Yasser:~$ more proxy.log

  ======================================================

  7:22:52 PM  :80  [117.18.237.29]

  ======================================================

  POST / HTTP/1.1

  Host: ocsp.digicert.com

  User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  Accept-Language: zh-SG,en-US;q=0.7,en;q=0.3

  Accept-Encoding: gzip, deflate

  Content-Length: 83

  Content-Type: application/ocsp-request

  DNT: 1

  Connection: close

 

  0Q0O0M0K0I0    +  

   �ǝ  ��Pr�Tz�

  ======================================================

 

  ======================================================

  7:23:00 PM  :80  [47.95.49.160]

  ======================================================

  GET /pyufftj/article/details/21469201 HTTP/1.1

  Host: blog.csdn.net

  User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  ...

可以看到该日志文件不仅记录了GET参数,还记录了cookie和POST参数。现在使用如下命令让Sqlmap解析该日志文件,自动寻找目标,检测注入漏洞:

  python sqlmap.py -l ../proxy.log

注意日志文件的路径要写正确。执行该命令时,每找到一个可能的攻击目标,Sqlmap都会询问是否要检测该目标。,默认回答为“Y”,想要测试该目标,直接按回车键就行。

当日志较大时会有很多可能目标,虽然有询问机制但依旧麻烦,因为不能一路按回车而要进行判断。若是可以对日志进行过滤就好了!确实是可以的,参数为“–scope”,详情见“五.18”。

4.从站点地图文件中解析目标

参数:-x

为便于搜索引擎收录,许多网站专门为搜索引擎生成了xml格式的站点地图,如。Sqlmap可以直接解析xml格式的站点地图,从中提取攻击目标,对一个网站全方位无死角地进行注入检测,此时使用的参数是“-x”,如:

  python sqlmap.py -x

但执行该命令的结果却是:

  [WARNING] no usable links found (with GET parameters)

没有找到有GET参数的可用链接。就我有限的经验而言,站点地图中的URL很少包含GET参数,POST参数就更不用说了。所以Sqlmap的这一功能似乎有些鸡肋。

5.从文本文件中解析目标

参数:-m

参数“-u”一次只能指定一个URL,若有多个URL需要测试就显得很不方便,我们可用将多个URL以一行一个的格式保存在文本文件中,然后使用参数“-m”,后跟该文本文件路径,让Sqlmap依次读取文件中的URL作为攻击目标。

如我们有文件url.txt,内容为:

  ?q=foobar

  ?id=1

  *

然后可用使用如下命令让Sqlmap测试这些URL是否存在注入漏洞:

  python sqlmap.py -m url.txt

同样,执行该命令时,Sqlmap会很贴心地一个个询问:“do you want to test this URL?”

6.从文件载入HTTP请求

参数:-r

可以将一个HTTP请求保存在文件中,然后使用参数“-r”加载该文件,Sqlmap会解析该文件,从该文件分析目标并进行测试。

设有如下所示的HTTP请求保存在文件get.txt中:

  GET /user.php?id=1 HTTP/1.1

  Host: 192.168.56.101:8080

  User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  Accept-Language: zh-SG,en-US;q=0.7,en;q=0.3

  Accept-Encoding: gzip, deflate

  DNT: 1

  Connection: close

  Upgrade-Insecure-Requests: 1

则使用如下命令让Sqlmap解析该文件,以该文件中HTTP请求目标为攻击目标进行测试:

  python sqlmap.py -r get.txt

7.将Google搜索结果作为攻击目标

参数:-g

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyxgg.html