10天的比赛结束了,分享一下遇到的一些知识..

首先分享一下,笔者一次有趣的ByPASS。

起初我是通过参数+1,跟参数-1,确定存在注入

http://victim/News.asp?t=&m=21786-1 显示的内容跟m=21785显示的内容一样

http://victim/News.asp?t=&m=21785+1 显示的内容跟m=21786显示的内容一样

并且还会报错

起初我直接使用access最常用的Payload来进行利用:

and exists(select * from admin)

通过fuzz跟报错信息,发现直接将()删除了,并且无法使用and关键字,尝试绕过,发现无法绕过,也就是说无法使用函数了

于是考虑改用Union查询的方式

判断列数

order by N

得知只有一列

判断是否存在admin表

union select * from admin 

但是页面直接提示非法输入,经过fuzz,得知检测了select关键字,无法使用select

然后搜寻资料看是否还有其他方式来获取数据,无果。

然后想到之前测试的时候发现,会直接将()给删除了,于是我想到了之前的那篇文章上记载的那种姿势。

union sel()ect * from admin

然后fuzz得知存在admin表

随后,我们需要爆破admin表里面用户名密码的字段名称

这个过程也用了我些许时间,因为总是不对

于是我先试了一下id字段,看一下我的语句是否有问题

union sel()ect id from admin

由图的知没有问题,但是用户名的字段名始终没有猜测出来

此时我便转战了密码字段,幸运的是,密码字段猜测出来了

union sel()ect pwd from admin

16位的md5值,解密为000000

此时我推测用户名是admin,或者通过用户名字典来进行爆破

然后我需要考虑的便是后台地址,字典没有爆破出来,但是却发现了敏感文件,泄露了后台地址

最后,我使用admin/000000登陆了后台