首页 > 代码库 > 3.因缺思汀的绕过

3.因缺思汀的绕过

一开始,直接看页面源代码,发现提示:siyrce.txt进去查看,发现是PHP代码

经过分析可知:

    技术分享

想要得到flag必须先绕过这3点:

  1. 不能使用上述关键字

  2. 数据库影响数为1

  3. 通过第三个if


第一个不使用即可通过

第二个返回结果只能又一条(说明用户不止一个)

    确定一下当前用户人数,由于第一个过滤了,所以使用limit 1 offset 1来判断人数

    1‘ or 1 limit 1 offset 0#    返回亦可赛艇!(一个人)偏移量从0开始

    1’or 1 limit 1 offset 1#    返回亦可赛艇!(两个人)

    1‘ or 1 limit 1 offset 2#    返回一颗赛艇!(没有第三人)

    由此推出又两个用户

第三个输入的密码和数据库的密码要相同

    这里可以用这个语句group by pwd with rollup(分组后会在多一行统计)

    由于对字符串统计无效第三行的pwd结果是NULL这样就可以通过

    1‘ or 1 group by pwd with rollup limit 1 offset 2#

    由于使用了with rollup后会多出一条,所以offset 2 可以正确返回NULL


    技术分享


密码栏不需要输入,默认为NULL,输入了就不是NULL了

    

本人也是初学者,参考了许多大佬的wp 自己写出来后有什么错误的地方,希望大家指出,谢谢!

本文出自 “11846238” 博客,请务必保留此出处http://11856238.blog.51cto.com/11846238/1947610

3.因缺思汀的绕过