黑客只要知道微信号就能监控是真的还是假的
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群或者垃圾邮件,来让其他人点击这个地址:
S:这个地址当然是没效的,只是举例子而已。
结论:
如果只是1、2、3步做成功,那也只是自己折腾自己而已,如果第4步能做成功,才是个像样的XSS攻击。
开发安全措施:
1. 前端在显示服务端数据时候,不仅是标签内容需要过滤、转义,就连属性值也都可能需要。
2. 后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。
例如:
标签:
转义
属性:
如果一个input的value属性值是
就可能出现
点击input导致攻击脚本被执行,解决方式可以对script或者双引号进行过滤。
Stored XSS
基于存储的XSS攻击,是通过发表带有恶意跨域脚本的帖子/文章,从而把恶意脚本存储在服务器,每个访问该帖子/文章的人就会触发执行。
例子: