Less-3

注入点闭合的问题

首先先讲讲闭合符的问题

一般注入点闭合无非是 ‘ , “ , ‘) , “)等各种组合(逗号是分隔符)

一般的代码:$id=$_GET[‘id’];

$sql=”SELECT * FROM users WHERE id=’$id’ LIMIT 0,1”;

就是这里,对id进行了修饰,用’(单引号)把id括了起来。所以我们构造语句的时候,一是要把我们构造的语句‘逃逸’出来,二是要把结构进行补全或者适当的注释。

注释可以用–+;– -;#把后面的’或者多余的修饰符注释掉

less1--根据注入位置数据类型可将sql注入分为:数字型和字符型。用 ?id=1 和?id=1’ 探测是否存在SQL注入。发现前者返回正常,后者会出现mysql语法错误。
错误: ’ ‘1’’ LIMIT 0.1 ’
SQL: select login_name,password from admin where id=‘id’ limit 0,1;

less2
错误: ’ ’ LIMIT 0,1 ’
SQL: select login_name ,password from admin where id=id limit 0,1;

less3–
错误 : ’ ‘1’’) LIMIT 0,1 ’
SQL: select login_name,password from admin where id=(‘id’) limit 0,1;
构造闭合:?id=1’) –+ 或者 ?id=1’) –%20 //–+表示注释后面的内容

less-4– 双引号绕过:
错误:‘ “1\”) LIMIT 0,1 ’ 或者 ’ “ 1””) LIMIT 0,1 ’ //这里的\对 “ 进行了转义. //这里 “ ” 使里面的单引号转化为 1
SQL: select login_name,password from admin where id=(“ID”) limit 0,1
构造闭合: ?id=1”) –+ 或者 ?id=1”) –%20

正片开始

输入?id=1’

img

出现报错,可知加‘)注意是’ 不是 ‘

接下来就是和前面的关一样了。

Less-4

和第三关一样

img

知道要加“)

img

其他就和上面一样

ye