XSS靶场练习
文章目录
靶场链接:
0x00
送分题,这道题服务器没有对输入进行过滤,输入代码:
<script>alert(1)</script>
0x01
因为<textarea>
为RCDATA元素,在<textarea>
中的内容不会有脚本执行,仅仅将其作为普通文本显示,所以需要进行闭合绕过处理。
payload:
</textarea><script>alert(1)</script>
或
</textarea><script>alert(1)</script><textarea>
textarea 一般是用来接收用户输入,用于提交到服务器端,例如 网站的评论框。如果此框也用于显示服务器端回传的内容,即使将html代码段插入textarea, html代码段不会执行, 仅仅将其作为普通文本显示。
在浏览器解析RCDATA元素的过程中,解析器会进入“RCDATA状态”。在这个状态中,如果遇到“<”字符,它会转换到“RCDATA小于号状态”。如果“<”字符后没有紧跟着“/”和对应的标签名,解析器会转换回“RCDATA状态”。这意味着在RCDATA元素标签的内容中(例如<textarea>或<title>
的内容中),唯一能够被解析器认做是标签的就是</textarea>或者</title>
。
因此,在<textarea>和<title>
的内容中不会创建标签,就不会有脚本能够执行。
0x02
采用标签闭合的方式
payload:
"><script>alert(1)</script>