[SUCTF 2019]EasySQL 1

输入一个1

 

 

输入1‘

 

 输入1 and 1=1

 

 完全没有头绪,看了一下其他人的wp:

解法1
输入的内容为*,1
内置的sql语句为s q l = " s e l e c t " . sql = “select “.sql=“select”.post[‘query’].”||flag from Flag”;
如果$post[‘query’]的数据为*,1,sql语句就变成了select *,1||flag from Flag,也就是select *,1 from Flag,也就是直接查询出了Flag表中的所有内容

解法2
输入的内容为1;set sql_mode=pipes_as_concat;select 1
其中set sql_mode=pipes_as_concat;的作用为将||的作用由or变为拼接字符串,执行的语句分别为select 1和set sql_mode=pipes_as_concat和select 1||flag from Flag,读出flag。


 

posted @ 2022-05-11 22:17  lpiz  阅读(76)  评论(0)    收藏  举报