| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Web 前端安全问题 - XSS、CSRF、界面操作劫持 -> 正文阅读 |
|
[网络协议]Web 前端安全问题 - XSS、CSRF、界面操作劫持 |
前言
一、XSS (Cross Site Scripting),跨站脚本攻击
XSS 主要有三种类型:反射性 XSS(也叫非持久型 XSS)、存储型 XSS(也叫持久型 XSS)、DOM 型 XSS。 1??、反射型 XSS:指攻击者将恶意代码拼写在 URL 中,作为输入提交到服务端,服务端解析后响应,在返回的响应内容中也带上了这段 XSS 代码,最后浏览器解析执行了这段代码。这个过程就像一次反射,故称为反射型 XSS。 2??、存储型 XSS:提交的恶意代码会存储在服务端(不管是数据库、内存、还是文件系统等),每次访问目标页面都会触发 XSS。(存储型 XSS 的攻击是最隐蔽,危害最大的。) 例如:留言板、个性签名等。 用户提交一条包含 XSS 代码的留言提交到服务端,如果这段代码没有进行任何处理直接存储到数据库,那么目标用户查看留言板时,浏览器当作正常的 HTML 与 JS 解析执行了这段代码,就触发了 XSS 攻击。 3??、DOM 型 XSS:相较于反射型 XSS 而言,DOM XSS 不要经过服务端解析响应的直接参与,触发 XSS 靠的就是浏览器端的 DOM 解析,可以认为完全是客户端的事情。 危害:
XSS 防御手段:
二、CSRF (Cross Site Request Forgery) ,跨站请求伪造
?CSRF 类型
1??、GET 型:简单的使用 img 标签发送一个 http?请求即可。例如:
在受害者访问含有这个 img 的页面后,浏览器会自动向http://www.a.com/blog/del?id=1发出一次HTTP请求,a.com 就会收到包含受害者登录信息的一次跨域请求。 2??、POST 型:通常利用一个自动提交的表单发送一个 post 请求。例如:
当目标网站 A 的用户被欺骗访问了恶意网站 B 的该页面时,一个跨域的伪造的 POST 表单请求就发出了。同时,这个请求带上了目标网站 A 的用户 Cookie。 POST 类型的攻击通常比 GET 要求更加严格一点,但仍并不复杂。任何个人网站、博客,被黑客上传页面的网站都有可能是发起攻击的来源,后端接口不能将安全寄托在仅允许 POST 上面。? 3??、HTML CSRF 攻击:发起 CSRF 请求的可以是 HTML 元素,这一类是最普遍的 CSRF 攻击。 HTML 中能够设置 src/href 等链接地址的标签都可以发起一个 GET 请求,如:
CSS 样式中的:
还有通过 JavaScript 动态生成的标签对象或 CSS 对象发起的 GET 请求,而发出的 POST 请求只能通过 form 提交方式。 危害:
防御手段:
三、界面操作劫持
主要分为三种:
举例: A 页面上有一个按钮,点击时调用 alert() 函数。
B 页面上有一个没有绑定点击事件的按钮,同时在 firame 中引入 A 页面,通过设置它的样式,让 A 页面透明显示,并将其中的按钮与 B 页面的按钮位置重叠。
当用户想点击 B 页面按钮时,实际上点击的却是 A 页面按钮。 危害:
防御手段:
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:52:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |