来自: 海角在眼前 - 博客园
链接:www.cnblogs.com/lovesong/p/5199623.html
XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。有人将XSS攻击分为三种,分别是:
1、Reflected XSS(基于反射的XSS攻击)
2、Stored XSS(基于存储的XSS攻击)
3、DOM-based or local XSS(基于DOM或本地的XSS攻击)
Reflected XSS
基于反射的XSS攻击,主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击。
例子:
1、做个假设,当亚马逊在搜索书籍,搜不到书的时候显示提交的名称。
2、在搜索框搜索内容,填入“”, 点击搜索。
3、当前端页面没有对返回的数据进行过滤,直接显示在页面上, 这时就会alert那个字符串出来。
4、进而可以构造获取用户cookies的地址,通过QQ群或者垃圾邮件,来让其他人点击这个地址:
http:
PS:这个地址当然是没效的,只是举例子而已。
结论:
如果只是1、2、3步做成功,那也只是自己折腾自己而已,如果第4步能做成功,才是个像样的XSS攻击。
开发安全措施:
1. 前端在显示服务端数据时候,不仅是标签内容需要过滤、转义,就连属性值也都可能需要。
2. 后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。
例如:
标签:
<script>alert('handsome boy')script>span>
转义
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。