第一关

先输入/?id=1' and 1=1 --+/?id=1 and 1=-1来判断是否存在注入点

image.png
image.png

可以看出,存在一个sql注入点,可以进行联合查询检查

当进行到4的时候报错,说明有三个字段
image.png

接下来可以对其进行注入获取信息了
版本号
image.png

路径
![[Pasted image 20260206183400.png]]

爆表名
image.png

第二关

和第一关基本差不多,不多说了

第三关

查看源码

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

伪造成?id=1') and 1=2 --+,后面基本一样

第四关

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

它的意思是让字符串的""包围在$id周围,使他伪造成一个字符串型变量

所以,这样伪造

image.png