第八关
还是常规方法,先上传我们常用的试试,onfocus <script> <a href=javascript:alert()>
查看源码发现,value这里应该是对我们的<>进行了 处理,然后在href这里,对常用的关键词进行了替换处理,这里就先考虑我们的大小写试试:<Script>alert(2)</Script>然后发现进行了小写转换,有点难搞,这里想到href这里可以进行html编码,而非unicode编码,因为unicode需要保留我们的伪协议,也就是如果我们构造payload为:javascript:alert(1)但是unicode需要保留JavaScript,而script会被处理成scr_ipt,因此,我们使用html编码,十进制十六进制都行,我这里为了方便,使用的十进制,构造的payload为:javascript:alert(1)然后输出即可。
通过源码,我们不难看出,常用的都过滤了,而且进行了大小写转换。
第九关
还是常规方法,先看一下,过滤了什么。"> <script>alert(2)</script> <" onfocus <script> <a href=javascript:alert()>
发现过滤了"><",都进行了转换
而且href这里也没有值,猜测可能有判断,看源码吧:
首先进行了一个小写转换,然后是一些常用的替换,然后再超链接这里,存在一个判断,就是strpos()函数:查找 "http://" 在字符串中第一次出现的位置,就是如果我们构造的payload里面没有这个就不能插入到href这里,所以,这里就想到了注释绕过,这样的话我们的字符串里既包含了要求的,同时也不会执行这个。
因此构造的payload为:javascript:alert(1)<!-- http:// -->;执行:
第十关
这里没有文本框,然后看到url这里有keyword,改一下参数试试:
检查源码:
这里可以看到,原来是有三个input被隐藏了,然后我们传参的keyword输出到了h2这里,然后看源码吧:
这里就会发现,原来不止一个参数,还有一个t_sort参数没发现,应该都测一下的。
然后发现源码这里,对<>都进行了屏蔽,参考前面的关卡,该使用事件了,使用:οnfοcus=javascript:alert(1),然后因为这里有type为hidden,因此,我们需要构造的payload为:
?t_sort=" ofcous=javascript:alert(1) type="text
这样构造之后,就可以绕过,分析一下闭合,第一个双引号闭合了value,然后开始我们的事件,然后这里考虑到后面的type需要呈现出来,而且还有一个双引号没有闭合,因此再在结尾加上type="text。这样构造之后,就闭合成功了。
第十一关
还是和之前一样,需要测一下都有那些参数可以用:?keyword=1&t_sort=1
测试下来发现还是,和上一关一样,有两个参数,试一下上一关的payload,给双引号也转义了,这里我回去又查了一下
htmlspecialchars
函数,用于将特殊字符转换为 HTML 实体。其默认行为是将以下字符转换为 HTML 实体:
&
(和号)转换为&
"
(双引号)转换为"
(仅当ENT_NOQUOTES
标志未设置时)'
(单引号)转换为'
(仅当ENT_QUOTES
标志设置时)<
(小于号)转换为<
>
(大于号)转换为>
因此这里会对<>&”都进行转换,所以这里使用上一关卡的payload会出现:
这里就闭合不了value了,看源码吧:
这里的<>&”进行转换,然后没用进行小写转换,后续payload可以考虑大小写进行绕过,然后这个t_ref是读取的Refer里面的信息,所以,我们抓包然后试试:
构造的payload为:Refer: " οnfοcus=javascript:alert(1) type="text
这样就能闭合,从而借助事件,实现绕过:
这里就需要注意 $str11=$_SERVER['HTTP_REFERER'];这里读取我们的Referer信息,而如果是常规的给t_ref赋值,是不能看出来的,没错,我就是。
十二关
还是老样子,构造我们的?keyword=<script><img src ><on href>,然后查看源码看看,
发现,和上一关卡一样,我们看到t_ua直接猜测。抓包然后该ua代理:
有了上一关的经验,直接构造payload为:" οnfοcus=javascript:alert(1) type="text
这样放包,就可以绕过了:
然后看源码:
果然,就是我们猜想的一样,然后这里还屏蔽了<>。
十三关
直接?keyword=<script><img src ><on href>,然后右击查看源码:
然后看到,又有变化了,t_cook,直接推,抓包改Cookie:
构造的payload为:Cookie: " οnfοcus=javascript:alert(2) type="text
然后放包:
查看源码:
果然,和我们猜测的一模一样。
十四关
网站挂了,挂个大佬的链接:xss-labs靶场-第十四关 iframe和exif xss漏洞 - FreeBuf网络安全行业门户
标签:xss,14,然后,payload,labs,&#,alert,源码,这里 From: https://blog.csdn.net/m0_59527104/article/details/144965035