在对sqlmap进一步了解。
–technique是为sqlmap的注入技术,在sqlmap中支持5中不同模式的注入
B:布尔型注入(盲注)
E:报错型注入
U:联合注入
S:通过sqlmap读取文件系统、操作系统、注册表必须 使用该参数,可多语句查询注入
T:基于时间延迟注入
可以根据不同的报错提示更改–technique后面的字母
其中 -dbms:不仅可以指定数据库类型,还可以指定数据库版本。例如 -dbms mysql(可以提高速度)
–batch:用这个参数,无须用户输入,将会使用sqlmap提示的默认值一直运行下去。
-v 0参数是为了更好的截图。
GET型
第一种:sqlmap.py -u http://localhost/Less-11/?id=1 (此 处有个空格很重要,不能漏)--data "uname=11111 &passwd=11111 &submit=Submit" --dbs --threads 10 --batch --technique ES
其他的也可以依次求出。注意 后面用-D的时候 只能一个- 不然识别不出来。
–data:后面可以加上数据段(post,get类型都可)(缺点:需要自己手工找参数名以及一些信息)
–threads: 最大并发线程,盲注时每个线程获取一个字符,获取完成后线程结束,默认为1,建议不要超过10,否则可能影响站点可用性。
POST型
第二种:sqlmap.py -r D:\包裹\11.txt ?id=1 --data "uname=11111 &passwd=11111 &submit=Submit" --dbs --threads 10 --batch --technique ES
-r 指定文件,需要自己抓包。
第三种:sqlmap可以实现自己抓包。-forms
sqlmap.py -u http://localhost/Less-11/ -forms -dbms mysql -dbs –threads 10 –batch –technique ES
Cookie型
–level=要执行的测试级别(1-5,default 1)
默认:始终测试GET和POST值
2级:测试HTTP cookie头值
3级:测试HTTP Use-Agent/Referer头的值
检测SQL注入越难,则必须将–level设置得越高。
SQLmap进阶
–sql-shell
可以直接执行数据库命令
–os-shell
已知web服务器绝对路径,扫描目录,得到能够执行命令的webshell。
识别waf
1 | sqlmap.py -u xxxxx --identify-waf --batch |