CTFhub 真题部分 Injection V2.0
程序员文章站
2022-05-15 14:08:24
...
真题部分前面几个都比较简单,只要知道了方法基本能走出来,这个题是一个注入题,根据提示已经确定用户名是admin,接下来要通过注入的方法把密码给破出来
经过测试发现对空格进行了检测,这里绕过方法很多
主要是以下几个
/**/
()
回车(url编码中的%0a)
`(tap键上面的按钮)
tap
两个空格
/**/成功绕过
因为返回的内容只有 密码错误 这一个内容,我感觉这个题是盲注题
想过**,但是()+被过滤了,看到一种说法说()被过滤了就无法**了,不太清楚是不是这么一回事
看了下别人的CTF,才发现自己完全想错了,这是要利用其后台代码的逻辑漏洞实现登陆。
存在两种检测逻辑
因为这个题能区分密码错误和用户名不存在两种情况,所以属于第二种逻辑。
基本思路就是让上交的 password 和从 $row 里面取出来的password相同
,所以这里其实可以想办法构造用户名部分的payload让它返回一个我们想要的值,当它和我们下面提交的password一致时就绕过检测了。
user=a'/**/union/**/select/**/1#&pass=1
成功获得flag,这种思路牛逼
下一篇: 2012年西北工业大学机试第一题