Sqli-LABS通关笔录-1

 在第一个关卡当中还是学到些知识。

1.注释语句多试试其他的几个

2.不报错可能是前面的语句没有错误,union没有得到执行。

http://127.0.0.1/sql/Less-1/index.php?id=1'         加单引号报错了。

从上面的错误提示当中,我们可以看到提交到sql中的1'在经过sql语句构造后形成 '1'' LIMIT 0,1,多加了一个 ' 。接下来想如何将多余的 ' 去掉

可以借鉴一下源码

得出payload:

'or 1=1--+

是不是这条语句就成功的绕过了呢?需要注意的是--+,当“/*”或者“#”不行的时候就换一个注释的方法。

成功绕过。如此便成功绕过了。

接下来就是联合查询注入。虽然简单,但是也有一个知识点。

自然而然的猜解字段数:3

执行:

http://127.0.0.1/sql/Less-1/index.php?id=1' union select 1,2,3 --+

的时候,并没有爆错。看源码

 

加入' union select 1,2,3 --+的sql语句就是如下:

$sql="select * from users where id='1' union select 1,2,3 --+' limit 0,1";

前面的select * from users where id='1' 如果没有错误的话,那么union后面的就不会被执行。

那么找到问题所在了,就解决问题。再次修改一下注入语句。

http://127.0.0.1/sql/Less-1/index.php?id=-1' union select 1,2,3 --+

成功爆出显示位。接下来就是真正的一个个的猜解了过程了。

原文地址:https://www.cnblogs.com/xishaonian/p/6102850.html