irpas技术客

[SUCTF 2019]EasySQL 1_MagnoZ

大大的周 7238

1、进入页面,又是一道注入的题; 2、分别尝试了下输入不同的内容: (1)输入数字1 (2)输入字母a或者带引号的组合1’ (3)输入双引号的组合1" (4)输入a’ or ‘1’=‘1 判断代码对一部分字符进行了过滤; 3、下面不是很会,查看了下其他人写的writeup,参考如下: 解法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。


参考自writeup


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #SUCTF #2019EasySQL #1 #or