目录
前言
xss实战第一部曲, 实战的靶场是部署在github上的, 所以可能有些延迟(你懂的), 然后给出地址:
https://xss.haozi.me/
玩法很简单, 进行xss注入直至alert(1)成功。
fight!
0x00
首先看看布局:

看到源码什么防护都没有, 直接抛一个常规payload过了(过马路一般):
<script>alert(1)</script>

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

或者, 利用error事件也可以:
</textarea><img src="" onerror=alert(1)>
由于src是空, 所以肯定会报错, 故通过错误调用事件成功注入xss:

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

提到闭合, 那么就好办了, 我们可以借鉴sql注入的方法, 将前面的双引号闭合, 然后注入新的标签:
" > <script>alert(1)</script>

同样, 利用error也可以, 方法有很多, 但思路都一样
0x03
发现括号, 方括号都被过滤了:

但是可以用 `` 来代替:
<script>alert`1`</script>

0x04
这题把括号、正括号和引号都过滤了:

可以考虑用html编码来绕过, 对编码不熟悉的可参考: 一次对浏览器解析和XSS的深度探究
将(1)进行html编码:

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

0x05
此题的注入点处于注释符之间, 而注释符的后半部被无情的替换为一个😂, 从而防止了注释被闭合:

这题涉及的知识比较牛, 就是注释方式有两种:
- <!-- 注释内容 -->
- <!--

本文详细介绍XSS攻击的各种实战技巧,从基本的标签注入到复杂的正则表达式绕过,涵盖HTML编码、注释闭合、URL语法利用等多种手段。
最低0.47元/天 解锁文章
1310





