sqlmap:注入漏洞检测利用工具
常用参数解释:
-r :指定参数注入 sqlmap.py -r post.txt -p 注入参数;
-u:get注入;
–-level=LEVEL:执行测试的等级(1-5,默认为1),使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。;
- -risk=RISK: 执行测试的风险(0-3,默认为1),默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。;
-v:ERBOSE信息级别: 0-6 (缺省1),其值具体含义:“0”只显示python错误以及严重的信息;1同时显示基本信息和警告信息(默认);“2”同时显示debug信息;“3”同时显示注入的payload;“4”同时显示HTTP请求;“5”同时显示HTTP响应头;“6”同时显示HTTP响应页面;如果想看到sqlmap发送的测试payload最好的等级就是3。;
-p:-p 后面接参数,针对单个参数注入;
-threads:线程数,如果你想让sqlmap跑的更快,可以更改这个线程 数的值,默认值为10;
-batch-smart :智能判断测试 ,跳过人工选择,自动进行选择;
--mobile:模拟测试手机环境站点,更改数据包Agent头进行测试;
-m :同时测试文本文档中的多个URL,一般接-batch=smart参数;
注入获取数据命令:
--dbs //默认情况系sqlmap会自动的探测web应用后端的数据库类型:MySQL、Oracle、PostgreSQL、MicrosoftSQL Server、Microsoft Access、SQLite、Firebird、Sybase、SAPMaxDB、DB2;
--current-user:大多数数据库中可检测到数据库管理系统当前用户;
--current-db:当前连接数据库名;
--is-dba:判断当前的用户是否为管理员账户;
--users:列出数据库所有所有用户;
获取表名:--tables -D 数据库名;
字段名:--columns -T 表名 -D 数据库名;
数据内容:-T 表名 -C username,password --dump;
读文件内容:--file-read /etc/password;
系统交互的shell:--os-shell ;
写webshell: --file-write "c:/1.txt” --file-dest “C:/php/htdocs/sql.php” -v1 /*将/software/nc.exe文件上传到C:/WINDOWS/Temp下*/;
sqlmap过waf:--tamper "不同数据库、waf规则对应脚本文件.py";