数据库
首页 > 数据库> > [SUCTF 2019]EasySQL 1

[SUCTF 2019]EasySQL 1

作者:互联网

方法一

尝试很多常规的注入方法都不行。
想到使用堆叠注入
查询下数据库
堆叠注入
查询数据表
数据表
1;show columns from Flag;#
尝试查看flag中数据,失败。
失败
之后看了WP,发现代码中语句是这样的,select $_GET['query'] || flag from flag,"||"在mysql中表示或,如果前一个操作数为真,则不看后面的语句,构造payload:*,1

sql=select.post['query']."||flag from Flag";
如果$post['query']的数据为*,1,sql语句就变成了select *,1||flag from Flag,
就是select *,1 from Flag,这样就直接查询出了Flag表中的所有内容。

拿到
select 1 from,会返回每一行都为值1的数据,这将方便数据库进行统计。具体讲解

方法二

通过设置sql_mode=pipes_as_concat将 ‘ || ’ 改为字符串连接符。
payload:1;set sql_mode=PIPES_AS_CONCAT;select 1
fangfaer
详细mode配置链接

标签:SUCTF,flag,EasySQL,Flag,2019,mode,sql,query,select
来源: https://blog.csdn.net/qq_35481726/article/details/119463049