一、XSS(Cross-Site Scripting) 跨站脚本攻击
原理:恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的。
1.非持久型 XSS(反射型 XSS )
▼防御策略
- 1. Web 页面渲染的所有内容或者渲染的数据都必须来自于服务端。
- 2. 尽量不要从 URL,document.referrer,document.forms 等这种 DOM API 中获取数据直接渲染
- 3. 尽量不要使用 eval, new Function(),document.write(),document.writeln(),window.setInterval(),window.setTimeout(),innerHTML,document.createElement() 等可执行字符串的方法。
- 4. 过滤不必要的HTML标签,例如:iframe alt script和特殊字符。过滤一些事件onClcik onfocus。
- 5. 如果做不到以上几点,也必须对涉及 DOM 渲染的方法传入的字符串参数做 escape 转义
200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图
2.持久型 XSS(存储型 XSS)
原理:持久型 XSS 漏洞,一般存在于 Form 表单提交等交互功能,如文章留言,提交文本信息等,黑客利用的 XSS 漏洞,将内容经正常功能提交进入数据库持久保存,当前端页面获得后端从数据库中读出的注入代码时,恰好将其渲染执行
▼防御策略
1、CSP:CSP 本质上就是建立白名单,开发者明确告诉浏览器哪些外部资源可以加载和执行。我们只需要配置规则,如何拦截是由浏览器自己实现的。我们可以通过这种方式来尽量减少 XSS 攻击。
设置 HTTP Header 中的 Content-Security-Policy(原文链接)
- default-src : 定义针对所有类型(js/image/css/font/ajax/iframe/多媒体等)资源的默认加载策略,如果某类型资源没有单独定义策略,就使用默认的。
- script-src : 定义针对 JavaScript 的加载策略。
- style-src : 定义针对样式的加载策略。
- img-src : 定义针对图片的加载策略。
- font-src : 定义针对字体的加载策略。
CSP 指令值
| name | 价格 |
|---|---|
| ‘*’ | 允许加载任何内容 |
| ‘none‘ | 不允许加载任何内容 |
| ‘self‘ | 允许加载相同源的内容< |

简单攻击原理和防御方案(理论篇)&spm=1001.2101.3001.5002&articleId=135270340&d=1&t=3&u=804a34a56dd54ce8b58f3067afe78e65)
5122

被折叠的 条评论
为什么被折叠?



