pikachu之存储型xss

152 阅读1分钟

image.png 可以发现这个留言板,只要我们留言了。就会存储在上面,即使是页面F5刷新也都还在,说明留言会保存到服务器上面。

接下来检测一下是否存在xss漏洞,我们输入一些特殊字符

'"<>?&6666

通过前端代码,可以看到也是输出没有转义,我们输入什么就返回什么 image.png

接下来通过一个弹窗说明存储型和反射型的区别

<script>alert('xss')</script>

image.png

出现弹窗后

image.png

说明这个弹窗代码已经存在服务器上,只要这个页面重新刷新 那么弹窗代码就会被浏览器解析并运行弹窗。 那么存储型xss就会对所有用户造成伤害,只要用户访问这个页面就会中招

源码分析:

只要message不为空 就把message的内容和时间 插入到数据库 image.png

然后页面上的操作是: 搜索所有的 message 并循环读取content的内容 就是这段echo没有做到转义输出,造成的漏洞

image.png