抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

上图~~~

这界面真是短小精炼,经过一番很正经的乱七八糟的操作,显然,在我即将刷完且没有刷完的sqli-labs的程度下,这道题对我来说是没有任何悬念的。操作之后发现只有输入非零数字回显“1”,输入其他字符得不到回显。这下是完了,我的盲区。

勇敢牛牛,不怕困难!

经过大佬推断,这里的内部查询语句可能有一个判断。我是这样理解:

select输入的数据 || 内置的一个列名 from 表名。

查看网页源码,发现为select POST 进去的数据 || flag from Flag

(这里的表明是含有数据的表明)并发现其注入方式为堆叠注入。并且这里的**||or**的作用。

内置的sql语句为:sql="select".post['query']."||flag from Flag";

如果$post[‘query’]的数据为*,1, sql语句就变成了select *,1||flag from Flag,也就是slect * ,1 from Flag,也就是直接查询出了Flag表中的所有数据。

输入方式:*,1

目前只能理解第一种方法

【扩展】堆叠注入

评论