xss.haozi.me通关教程
2023-2-4 15:45:0 Author: xz.aliyun.com(查看原文) 阅读量:30 收藏

0x00

首先整体浏览网站

分别是xss注入点,注入后的HTML代码以及网页源码

构造常规payload:

<script>alert(1)</script>

成功通关

0x01

看到注入点是在<textarea></textarea>标签中, 所以用上一题的方法是不会被解析的, 故需要去构造标签, 闭合<textarea></textarea>, 就可以注入了:

</textarea><script>alert(1)</script><textarea>

成功通关

或者, 利用error事件也可以:

这个img,是用来给页面加入图片的,图片的地址就是由src来设置的,然后后面那个onerror是一个事件,就是一旦出错,就会执行里面的JavaScript代码。所以我们就把图片的地址随便写一个,然后程序出错,最后执行JavaScript代码。

</textarea><img src="x" onerror="alert(1)"><textarea>

成功通关

0x02

输入常规payload:

<script>alert(1)</script>

我们发现这题的注入点是把值转化为字符串, 然后显示在输入框内, 这样前两题的标签闭合注入也就失效了

可以借鉴sql注入的方法, 将前面的双引号闭合, 然后注入新的标签,上一关是闭合整个标签,这次就闭合一半,使用">把前面的标签给闭合了,然后再写自己的标签:

"><img src="x" onerror="alert(1)">

成功通关

0x03

审查源码我们发现,括号, 方括号都被过滤了:

可以用 `` 来代替进行绕过:

<script>alert1</script>

成功通关

0x04

审查源码我们发现,这题把括号、正括号和引号都过滤了:

可以考虑用html编码来绕过, 将(1)进行html编码:

构造payload:

<img src="" onerror=alert(1)>

成功通关

0x05

此题的注入点处于注释符之间, 而注释符的后半部被替换为一个


文章来源: https://xz.aliyun.com/t/12107
如有侵权请联系:admin#unsafe.sh