反射型xss(非持久型):需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。特点:弹窗警告、广告;javascript;在浏览器中执行。
目录
Low
没有任何防御直接运行搜索框里面的内容
所以输入<script>alert('xss');</script>
可以看到代码插入程序中
Medium
str_replace函数:替换字符串的内容,把内容中<script>替换成空
方法
- 大小写混写绕过:<Sript>alert('xss')</script>
- 双写绕过:<sc<script>ript>alert('xss')</script>
- 其他标签绕过:<img src=1 οnerrοr='alert("xss")'>
High
对preg_replace 函数对<script>无论大小都进行了过滤,那么我们就使用其他标签进行利用
<img src=1 οnerrοr=alert("xss")>
#src属性是引入图片的地址, src错误的时候,执行 alert("xss")
impossible
增加了chekToken函数,,增加了token验证防止,CSRF攻击
htmlspecialchars函数,把字符串转换成实体,防止变成html元素,直接打印出来。