- 每日一句:打存储型XSS时千万不要过分
打存储型XSS时,主要使用XSS平台 - 本片内容:存储型XSS的理解
存储型XSS的挖掘
一、存储型XSS的理解
1.什么是存储型XSS
就是你写的恶意代码被存储到数据库中,用户点击页面之后会继续执行恶意代码,能持续攻击不同的用户。
例如:js代码通过留言板存储在服务器中,所以每次点击留言板链接,都会弹出xss弹窗
反射型XSS只是检测是否存在XSS注入,哪个地方存在XSS
我们一般利用XSS平台去获取cookie
2.XSS平台
注册之后,创建项目;~keepsesion选项保持访问,防止cookie失效
二、存储型XSS的挖掘
1.一般打存储型XSS的位置
(1)用户注册的地方
(2)留言板
(3)上传文件的文件名
(4)报错信息(管理员可见的)
总之:见框就插
2.一般来说,Google浏览器只会拦截反射型XSS,对于存储型XSS、DOM型XSS是比较乏力的
3.防御XSS
主流过滤字符:< > ’ " 这四种符号全过滤,基本就稳了
用HTML实体编码解决
什么是实体编码?
想让一些特殊字符以文本的形式显示,而不是被解析成标签
例如:
输出字符 描述 实体名称 实体编号
< 小于号 < <
> 大于号 > >
& 和号 & &
“ 引号 " "
4.插入的代码不见了,一般就是被执行了,这个地方基本就存在存储型xss
一般就插入<script>alert(1)</script>
来测试
5.测试存储型xss时,注意将<script>
闭合
用</script>
闭合;否则影响到网站的正常使用。切记!!!
6.访问XSS平台的注意事项?
以前也搭建过XSS平台,其实后台可以看到所有用户的cookie,
当你用了别人的XSS平台其实就要注意信息泄露这个问题,
而且访问XSS平台和XSS页面建议使用无痕,谁知道他们是否在脚本里做手脚
注意:无论何时,尽量避开ZF站点!!
三、总结
- 测试存储型XSS时,一定要闭合,切记!
- 尽量避开ZF站点