可以发现这个留言板,只要我们留言了。就会存储在上面,即使是页面F5刷新也都还在,说明留言会保存到服务器上面。
接下来检测一下是否存在xss漏洞,我们输入一些特殊字符
'"<>?&6666
通过前端代码,可以看到也是输出没有转义,我们输入什么就返回什么
接下来通过一个弹窗说明存储型和反射型的区别
<script>alert('xss')</script>
出现弹窗后
说明这个弹窗代码已经存在服务器上,只要这个页面重新刷新 那么弹窗代码就会被浏览器解析并运行弹窗。 那么存储型xss就会对所有用户造成伤害,只要用户访问这个页面就会中招
源码分析:
只要message不为空 就把message的内容和时间 插入到数据库
然后页面上的操作是: 搜索所有的 message 并循环读取content的内容 就是这段echo没有做到转义输出,造成的漏洞