本文共 513 字,大约阅读时间需要 1 分钟。
在Less-26a关卡中,我们面对的挑战是如何绕过过滤机制,利用合法的SQL语句执行注入。以下是解决思路和最终的SQL构造方法:
preg_replace去掉了多个有害字符,如OR、AND、/、*、--、#、空格等。因此,我们需要构造一个有效的id值,使其能够通过这些过滤。UNION关键字:由于直接使用报错注入被排除,我们可以使用UNION来执行两个查询。前面的查询闭合括号,插入自己的SQL语句,然后闭合后面的括号。id值:构造一个看起来合法的id值,例如1,并在后面添加SQL语句。id=1') union select user(),3||('1 1')闭合了前面的WHERE条件后的括号。union select user(),3||('1插入了一个联合查询,获取用户信息user()和常数3,然后使用||连接字符串('1,确保后续查询有效。1闭合了前面SELECT语句的括号,使整个查询有效。通过这种方法,我们成功绕过了过滤机制,利用合法的SQL语句执行注入,获取所需的信息。
转载地址:http://kprc.baihongyu.com/