2 3 4 5 6 7 8 9 10 11 12

xss-level 6-10

level 6

先使用 '">来判断出前面标签是什么闭合,然后 使用正常的<script>alert('1')</script>,此时查看源码,可以知道需要闭合标签,接着输入"><script>alert('1')</script> ----失败

查看网页源码:

此时发现<script>变成了<scr_ipt>

尝试使用HTML事件,"oninput="alert('是') -----失败

此时发现oninput 变成了 o_ninput

接着使用触发事件 'onclick='window.alert() -----失败

三种都不行,就尝试使用伪链接

由于前面可知,需要将部分字母换成大写尝试:

"><a hRef=javascript:alert('yes')>链接</a>

点击链接即可,这关和level5操作基本相同

level 7

操作和level 6相同,输入"><script>alert('1')</script> ,查看源码

发现script传参时被后台过滤掉了

尝试使用HTML事件,"oninput="alert('是') -----on被过滤掉了

这里我们可以对标签的书写做一些处理,让后台过滤后仍然可以执行我们的脚本!

在上面的被过滤字符中都插入一段过滤字符,当插入的字符被过滤后,过滤结果仍然可以组合成为脚本语句:

"><scrscriptipt>alert("yes")</scrscriptipt>

level 8

使用以上的方法都不行,此时可以考虑换一种编码方式进行绕过。例:将p转码

javascri&#x70;t:alert()     ---html编码

添加友情链接后,点击链接即可

level 9

使用以上的方法都不行,此时标签和事件属性都不能用 , 猜测是对url进行了匹配,所以在编码后添加http://www.baidu.com,为了不影响javascript代码,在url前加javascript的单行注释符//,即//http://www.baidu.com,便于javascript代码正常执行。

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;//http://www.baidu.com

查看PHP源码,发现先对关键字进行了过滤改写,
在这里插入图片描述
之后检查字符串中是否存在“http://”,如不存在,则输出链接不合法的提示
在这里插入图片描述

less 10

过滤了尖括号 > < , 并且隐藏了输入框 , 使用事件绕过,并使输入框取消隐藏

这是自己搭建的靶场可以看源码,但是当到实战就看不到源码了

此时遇到这种类型的题需要 插入点击事件 , 左侧第一个双引号用来闭合 value属性的左双引号,代码确实添加了点击事件 , 但输入框被隐藏 , 点击不了,这时需要再追加一个 type属性 , 使输入框显示出来 , payload:

"onclick=alert(1) type=text

查看网页源码,可以发现有以下3个参数

修改前面keyword为t_sort(三个参数都试了,只有t_sort是对的)

posted @ 2021-11-13 11:56  MrDevil  阅读(79)  评论(0)    收藏  举报