15关

查看源码如下:

这里看护出是用post提交的参数,用单引号闭合

 

把回显报错给注释掉了,现在得知我们只能用延时注入,试一下简单的看会不会延时

 

 输入时间盲注payload,注入成功

uname=admin' and sleep(5)%23

16关

分析源代码:

和15关一样的post提交

但是这里换成了“闭合方式 

 同样注释了mysql的回显报错,用上局的payload闭合方式换成”测试一下

成功睡了5秒 ,下面是payload

uname=admin") and sleep(5)%23

 17关

首先简单源码分析:

post提交,在这里 设置了过滤参数,但是passwd没有

magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,在magic_quotes_gpc = On的情况下,如果输入的数据有单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线。

使用单引号闭合 

 这里报错了,会echo出来,那我们直接就可以尝试一下报错注入,从passwd入手

 使用报错注入成功,下面是payload

uname=admin&passwd=1' AND (SELECT 1 FROM (SELECT COUNT(*),CONCAT((SELECT(SELECT CONCAT(0x7e,CAST(CONCAT(username,password) AS CHAR),0x7e)) FROM users LIMIT 0,1),FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.TABLES GROUP BY x)a)%23

18关

查看源代码:

同样的post提交方式

 

对我们提交两个参数都进行了过滤 

这里 获取请求的 uagent 和 IP地址

 insert语句这里 ip_address 和 uagent 使用单引号拼接,并且没有设置过滤

输出$uagent

并输出了mysql的报错信息,可以尝试报错注入,延时注入

payload

1' and updatexml(1,concat(0x7e,(select datebase()),0x7e),1) and '%23

19关

依然是post提交

 

对两个参数进行过滤

 

输出 $_server['http_referer']

本关和 Less-18 异曲同工,只是这里的漏洞点出在了 referer 里面,其他利用方式基本上也是一毛一样,所以下面直接上 payload 演示吧:

 

 1' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '%23