5.1 web浏览安全

数据参考:CISP官方 

目录

  • Web应用基础
  • 浏览器所面临的安全威胁
  • 养成良好的Web浏览安全意识
  • 如何安全使用浏览器

一、Web应用基础

1、Web应用的基本概念

Web ( World wide Web) 也称为万维网

  • 脱离单机
  • Web应用在互联网上占据了及其重要的地位
  • Web应用的发展:Web1.0-->Web2.0-->Web3.0-->......

 

  • Web 1.0:Web 1.0时代是Web的初期阶段,主要以静态网页为主,用户只能 passively 地浏览和获取信息,无法主动参与内容的创建和修改。

  • Web 2.0:Web 2.0标志着互联网的进一步发展,它强调用户参与和互动。用户可以通过社交媒体、博客、在线论坛等平台创作和分享内容,形成了一个更加开放和协作的网络环境。

  • Web 3.0:Web 3.0是对未来Web发展的一种展望,也被称为“语义Web”。它旨在将互联网上的大量数据整合起来,并利用人工智能和机器学习等技术为用户提供更智能、个性化的服务和体验。Web 3.0的目标是实现更加智能化的互联网,让计算机能够理解和处理更多的信息。

需要注意的是,Web 3.0目前仍处于发展阶段,尚未完全实现。随着科技的不断进步,我们可能会看到更多新的Web应用和技术的出现。

2、Web应用系统的体系架构

广泛使用的是浏览器/服务器架构(B/S)

3、Web应用系统安全的突破点

  • Web安全问题越来越突出
  • 浏览器安全问题却是最常见的安全突破点。

二、浏览器所面临的安全威胁

1、XSS跨站脚本攻击

基本概念

  • 跨站脚本攻击是一种常见的网络安全威胁,它利用了网站在处理用户输入时的漏洞。攻击者可以通过在受影响的网页中插入恶意脚本,然后将这些脚本传递给其他访问该网页的用户。
  • 脚本包括 Javascript、Java、 Vbscript、 Activex、Fash甚至是普通的HTML语句 
  • 跨站脚本攻击的目标是绕过网站的安全机制,将恶意脚本注入到网页中,并在其他用户浏览该网页时执行。恶意脚本可以执行各种操作,如窃取用户的敏感信息、劫持用户会话、修改网页内容等。

攻击原理

  • 反射型:在反射型攻击中,攻击者通过构造一个恶意的URL,将包含恶意脚本的参数发送给目标用户。当用户访问包含恶意代码的URL时,网站会从URL中提取参数并将其插入到响应页面中,恶意脚本随后被执行。这种攻击类型一般需要用户点击一个特定的恶意链接才会触发
  • 存储型:在存储型攻击中,攻击者将恶意脚本或恶意数据存储到目标网站的数据库或其他存储介质中。当其他用户访问包含恶意脚本的网页时,恶意脚本会从服务器上提取并执行。存储型攻击可以对多个用户造成危害,而不仅仅是单个受害者。
  • DOM型:在DOM型攻击中,攻击者利用网页的客户端脚本(通常是JavaScript)处理代码时的漏洞发起攻击。攻击者通过操纵文档对象模型(DOM)的结构和属性,使得恶意脚本被执行。与反射型和存储型不同,DOM型攻击并不依赖于服务器的响应,而是利用客户端脚本解析和执行过程中的漏洞。

DB是"DOM-based XSS"的缩写,指的是DOM型跨站脚本攻击 

 

攻击流程

反射型XSS

  1. 攻击者构造包含恶意脚本的链接。
  2. 攻击者将恶意链接发送给目标用户。
  3. 用户点击恶意链接。
  4. 用户的浏览器向服务器发送请求,将恶意脚本作为参数包含在请求中。
  5. 服务器从请求中获取恶意脚本参数并将其反射到响应结果中。
  6. 响应结果被发送回用户的浏览器。
  7. 用户的浏览器解析响应结果并执行其中的恶意脚本。

存储型XSS

  1. 攻击者将恶意脚本代码上传到目标网站的数据库中。
  2. 用户访问包含恶意脚本的页面。
  3. 从数据库中检索到的恶意脚本被包含在响应结果中。
  4. 用户的浏览器解析响应结果并执行其中的恶意脚本。

DOM型XSS

  1. 攻击者通过DOM操作动态插入恶意脚本代码。
  2. 用户触发了包含恶意脚本的事件,例如点击按钮或提交表单。
  3. 修改后的DOM结构被浏览器重新解析和执行。
  4. 浏览器执行恶意脚本并导致攻击发生。

危害

  • 执行命令:恶意脚本可以在用户的浏览器环境中执行任意 JavaScript 代码,可能导致攻击者能够执行非授权的操作,例如获取敏感信息、修改页面内容或重定向用户到其他恶意网站。

  • 劫持用户会话:通过劫持用户会话,攻击者可以伪造用户身份,访问用户的账户,并在其名义下进行各种活动,例如发表言论、修改个人资料、进行金融交易等。

  • 插入恶意内容:攻击者可以通过XSS攻击在受影响网站上插入恶意内容,例如广告、恶意链接、虚假表单等,这可能欺骗用户、引导用户点击恶意链接或泄露敏感信息。

  • 重定向用户访问:攻击者可以利用XSS漏洞将用户重定向到其他恶意网站,这可能涉及钓鱼攻击、传播恶意软件或进一步诱导用户暴露个人敏感信息。

  • 窃取用户会话信息:通过XSS攻击,攻击者可以窃取用户的会话信息,例如会话ID、Cookie数据等,从而获取用户的权限和身份验证凭据。

  • 隐私信息:攻击者可以通过注入恶意脚本,窃取用户的敏感信息,包括个人身份信息、信用卡号码、密码等。这些信息可能被用于非法目的,例如身份盗窃、欺诈活动等。

  • 下载蠕虫木马到受害者计算机:一些高级的XSS攻击可能会导致在用户计算机上下载和执行恶意软件,例如蠕虫、木马或其他恶意程序,从而使攻击者完全控制受害者计算机。

2、跨站请求伪造 (CSRF)

基础概念

  • 跨站请求伪造是一种以用户身份在当前已经登录的Web应用程序上执行非用户本意操作的攻击方法。
  • 在2017年发布的新版 OWASP Top10中,CSRF排名第8

攻击原理 

  • CSRF(跨站请求伪造)是一种以用户身份进行冒充进行正常操作的攻击方式,而不是直接针对服务器的攻击。
  • 这种攻击通常发生在服务端没有对请求进行严格过滤和验证的情况下。

CSRF攻击的一般流程如下:

  1. 受害者登录:受害者在目标网站上进行登录,并且会话凭证(如Cookie)被存储在浏览器中。

  2. 构造恶意页面或链接:攻击者创建一个恶意网页或构造恶意链接,并诱使受害者访问。

  3. 伪造请求:恶意页面中包含了针对目标网站的请求,该请求通常是一个非常规的操作(如修改密码、发起资金转账等),攻击者通过JavaScript或其他方式自动触发这个请求。

  4. 发送请求:当受害者访问恶意页面时,其中包含的请求会在受害者的浏览器中被执行。由于受害者已登录目标网站并具有有效的会话凭证,浏览器会自动携带这些凭证发送请求到目标网站,目标网站无法分辨此请求是否为受害者本人发送的。

  5. 完成攻击:目标网站接收到请求后,会以为是受害者自己发起的合法请求,并执行相应的操作,导致攻击成功。

需要注意的是,攻击者需要找到适合的漏洞和目标网站,才能成功进行CSRF攻击。而开发人员可以通过实施防御措施来减少CSRF攻击的成功率,保护用户和网站的安全。

危害

修改用户信息

  • 修改个人信息
  • 修改发货地址

执行恶意操作

  • 修改密码
  • 伪造身份诈骗

3、网页挂马

基础概念

  • 网页挂马是攻击者构造携带木马程序的网页,该网页在被浏览器访问时,利用系统漏洞、浏览器漏洞或用户缺乏安全意识等问题,将木马下载到用户的系统中并执行,从而实现对用户的系统进行攻击。

攻击原理

网页挂马 - 常见途径

  • 利用操作系统和浏览器漏洞:攻击者通过发现操作系统或浏览器中的漏洞,利用这些漏洞将恶意代码注入到网页中。当用户访问带有恶意代码的网页时,恶意代码会下载到用户的计算机并执行。

  • 利用第三方组件的漏洞:除了操作系统和浏览器本身的漏洞,攻击者还可以利用网页中引用的第三方组件(如插件、扩展等)存在的漏洞进行攻击。这些漏洞可能存在于Flash、Java、Adobe Reader等常用组件中。

  • 社会工程学手段:攻击者可能通过钓鱼邮件、欺骗性广告或诱导用户点击恶意链接等社会工程学手段,引导用户访问被植入恶意代码的网页。

网页挂马 - 危害

  • 盗取个人信息
  • 改写磁盘,对计算机系统进行破坏

4、网络钓鱼

基本概念

  • 网络钓鱼(Phishing)是攻击者利用欺骗性的电子邮件、短信、社交媒体消息等方式,诱导用户点击链接或提供个人敏感信息。

网络钓鱼 - 主要手法

  • 发送电子邮件,以虚假信息引诱用户中圈套
  • 建立假冒网上银行、网上证券网站,骗取用户帐号密码实施盗窃
  • 利用虚假的电子商务进行诈骗
  • 利用手机短信、QQ、微信进行各种各样的 “网络钓鱼”
  • 利用木马和黑客技术窃取用户信息后实施盗窃
  • 利用用户弱口令等漏洞破解猜测用户帐号和密码

网络钓鱼 - 攻击媒介占比

        在2020年第一季度期间,由于疫情原因,网络钓鱼攻击越发严重,这是因为疫情导致了更多人在家中使用互联网并依赖于电子邮件和在线平台进行工作、学习和社交。攻击者利用这个机会加大了网络钓鱼攻击的规模和频率。

  • Ema(电子邮件)攻击占18%:电子邮件是最常见的传播网络钓鱼攻击的方式之一。攻击者发送仿冒的电子邮件,冒充合法的组织或个人,以诱导受害者点击恶意链接、下载恶意附件或提供个人敏感信息。

  • Web(网页)攻击占59%:通过伪造的网站或恶意注入恶意代码等方式,攻击者利用Web平台进行网络钓鱼攻击。当用户访问被伪造的网站时,他们可能会被要求输入个人信息或进行其他欺骗性操作。

  • 移动网络攻击占23%:随着智能手机和移动应用的普及,攻击者也越来越多地利用移动平台进行网络钓鱼攻击。这包括通过仿冒的移动应用、短信或社交媒体消息等方式,引诱用户点击恶意链接或提供个人敏感信息。

网络钓鱼 - 案例分析

  • 2018年美国审计署被转走88.8万美元
  • 这些网站似曾相识 www.1cbc.com  www.1enove.com ......
  • 发布虚假的商品销售信息
  • 木马盗走账号密码
  • 银行密码被弱口令破解 

三、养成良好的Web浏览安全意识

1、为什么要养成良好的Web浏览安全意识?

  • 75%的信息安全攻击都发生在Web应用层而非网络层面上
  • 在Web应用所面临的安全隐患中,浏览器安全问题却是最常见的安全突破点。

2、怎样养成良好的Web浏览的安全意识

  • 关注web浏览过程中的隐私保护问题:在使用Web浏览器时,关注网站的隐私政策和数据收集做法。选择信任度高的网站,并尽量避免向不可信的网站提供个人信息。
  • 慎用密码自动保存功能:不建议使用浏览器的密码自动保存功能,因为这可能会导致密码遭到泄露。相反,使用密码管理器来保存和管理密码,确保密码的安全性。
  • Web浏览中的最小特权原则:在浏览网页时,给予浏览器和插件的权限应该最小化。只允许必要的权限,以减少潜在的安全风险。
  • 确保登录口令安全:使用强密码来保护您的账户安全,并定期更改密码。避免使用容易猜测的密码,同时也不要在不安全的网络环境下登录账户。
  • 不明链接访问要确认:在点击或访问不明链接之前,先进行核实和确认。避免点击不可信的链接,以防止遭受钓鱼、恶意软件或诈骗攻击。
  • 关注网站备案信息:在访问网站时,可以查看网站的备案信息。这可以帮助您判断网站的合法性和可信度。

四、如何安全使用浏览器

1、清除浏览数据

浏览器缓存数据

  • 浏览记录
  • 页面信息
  • 下载记录
  • cookie
  • 用户名/密码和其他登录数据
  • 自动填充表单数据
  • 网站设置
  • 托管应用数据

 

应养成定期清除浏览记录的习惯

2、防止跟踪

什么是 cookie?

  • Cookie是浏览器使用的文本格式的小文件,用于存储用户信息和用户偏好等信息
  • 一般在在浏览器的设置中可以看到所访问网站的 Cookie
  • Cookie通常是加密的

 

cookie的作用

  • 为了证明我是我:验证身份
  • http协议附加状态:通过附加状态,服务器可以在多个请求之间维护特定客户端的状态信息。
  • 根本原因是为了解决ht协议无状态无连接问题

总的来说,Cookie在网页浏览和交互中起到证明身份、实现状态管理、个性化设置、数据分析和推广等作用,并解决了HTTP协议无状态无连接的问题。然而,需要注意隐私和安全方面的考虑,遵守相关法规和最佳实践。 

cookie的安全隐患

  • Cookie欺骗:攻击者可以通过伪造Cookie来冒充其他用户身份。这可以通过盗取其他用户的Cookie信息或者手动构造一个合法的Cookie来实现。一旦攻击者获得有效的Cookie,他们就可以进入被欺骗用户的账户,执行未经授权的操作。

  • Cookie篡改:攻击者可以修改Cookie的内容,以获取未经授权的访问权限或者更改用户的设置和偏好。通过截获和修改传输的Cookie数据,攻击者可以篡改其值,例如修改用户ID、角色、权限等,从而获得更高的权限或者执行恶意操作。

浏览器中防止跟踪的安全设置

  • 无痕模式下阻止第三方 Cookie cookie篡改
  • 退出时清除 Cookie 及网站数据
  • 设置浏览器的 “不跟踪'请求
  • 设置"网站设置”中的选项,控制网站的权限

3、避免自动口令填充

  • 浏览器的自动填充功能可以保存用户输入的登录口令
  • 计算机不是安全可控则使用自动填充功能会带来登录信息泄露的风险
  • 较为重要的网站的账号和口令尽量不要设置自动填充,更不要保存到云端
  • 可以管理自动填充的账号和口令

  

4、慎用代理服务器

代理服务器访问模式

代理服务器访问模式的安全隐患

  • 在代理模式下,用户的访问信息都需要通过代理服务器进行处理
  • 如果对代理服务器的安全性无法保证,应尽量避免使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/69813.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8s环境下监控告警平台搭建及配置

Promethues是可以单机搭建的,参考prometheus入门[1] 本文是就PromethuesGrafana在K8s环境下的搭建及配置 Prometheus度量指标监控平台简介 启动minikube minikube start 安装helm 使用Helm Chart 安装 Prometheus Operator: helm install prometheus-operator stabl…

AI:01-基于机器学习的深度学习的玫瑰花种类的识别

文章目录 一、数据集介绍二、数据预处理三、模型构建四、模型训练五、模型评估六、模型训练七、模型评估八、总结深度学习技术在图像识别领域有着广泛的应用,其中一种应用就是玫瑰花种类的识别。在本文中,我们将介绍如何使用机器学习和深度学习技术来实现玫瑰花种类的识别,并…

备忘录模式(C++)

定义 在不破坏封装性的前提下,捕获一-个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。 应用场景 ➢在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要…

c++遍历当前windows目录

前言 设置vs的高级属性为使用多字节字符集&#xff0c;不然会报char类型的实参与LPCWSTR类型的形参类型不兼容的错误 代码 #include <iostream> #include <cstring> #include <windows.h>void listFiles(const char* dir);int main() {using namespace st…

【服务平台】Rancher运行和管理Docker和Kubernetes,提供管理生产中的容器所需的整个软件堆栈

Rancher是一个开源软件平台&#xff0c;使组织能够在生产中运行和管理Docker和Kubernetes。使用Rancher&#xff0c;组织不再需要使用一套独特的开源技术从头开始构建容器服务平台。Rancher提供了管理生产中的容器所需的整个软件堆栈。  完整软件堆栈 Rancher是供采用容器的团…

SpringBoot案例-部门管理-删除

目录 查看页面原型&#xff0c;明确需求 页面原型 需求 阅读接口文档 思路分析 功能接口开发 控制层&#xff08;Controllre类&#xff09; 业务层&#xff08;Service类&#xff09; 持久层&#xff08;Mapper类&#xff09; 接口测试 前后端联调 查看页面原型&a…

NIDS网络威胁检测系统-Golang

使用技术&#xff1a; Golang Gin框架 前端三件套 演示画面&#xff1a; 可以部署在linux和window上 目前已在Kali2021和Window10上进行测试成功

【瑞吉外卖】Linux学习

Linux常用命令 Linux命令初体验 Linux的命令都是由一个或几个单词的缩写构成的 命令对应英文作用lslist查看当前目录下的内容pwdprint work directory查看当前所在目录cd [目录名]change directory切换目录touch [文件名]touch如果文件不存在&#xff0c;新建文件mkdir [目录…

Redis_哨兵模式

9. 哨兵模式 9.1 简介 当主库宕机&#xff0c;在从库中选择一个&#xff0c;切换为主库。 问题: 主库是否真正宕机?哪一个从库可以作为主库使用?如何实现将新的主库的信息通过给从库和客户端&#xff1f; 9.2 基本流程 哨兵主要任务&#xff1a; 监控选择主库通知 会有…

JavaWeb-Servlet服务连接器(一)

目录 1.Servlet生命周期 2.Servlet的配置 3.Servlet的常用方法 4.Servlet体系结构 5.HTTP请求报文 6.HTTP响应报文 1.Servlet生命周期 Servlet&#xff08;Server Applet&#xff09;是Java Servlet的简称。其主要的功能是交互式地浏览和修改数据&#xff0c;生成一些动态…

python爬虫——爬虫伪装和反“反爬”

前言 爬虫伪装和反“反爬”是在爬虫领域中非常重要的话题。伪装可以让你的爬虫看起来更像普通的浏览器或者应用程序&#xff0c;从而减少被服务器封禁的风险&#xff1b;反“反爬”则是应对服务器加强的反爬虫机制。下面将详细介绍一些常见的伪装和反反爬技巧&#xff0c;并提…

92. 反转链表 II

92. 反转链表 II 题目-中等难度示例1. 获取头 反转中间 获取尾 -> 拼接2. 链表转换列表 -> 计算 -> 转换回链表 题目-中等难度 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点…

【Hilog】鸿蒙系统日志源码分析

【Hilog】鸿蒙系统日志源码分析 Hilog采用C/S结构&#xff0c;Hilogd作为服务端提供日志功能。Client端通过API调用&#xff08;最终通过socket通讯&#xff09;与HiLogd打交道。简易Block图如下。 这里主要分析一下。Hilog的读、写、压缩落盘&#xff0c;以及higlog与android…

图像处理技巧形态学滤波之腐蚀操作

1. 引言 欢迎回来&#xff0c;我的图像处理爱好者们&#xff01;今天&#xff0c;让我们深入研究图像处理领域中的形态学计算。这些非线性的图像处理技术允许我们操纵图像中对象的形状和结构。在本系列中&#xff0c;我们将依次介绍四种基本的形态学操作&#xff1a;腐蚀、膨胀…

PHP最简单自定义自己的框架view使用引入smarty(8)--自定义的框架完成

1、实现效果。引入smarty&#xff0c; 实现assign和 display 2、下载smarty&#xff0c;创建缓存目录cache和扩展extend 点击下面查看具体下载使用&#xff0c;下载改名后放到extend PHP之Smarty使用以及框架display和assign原理_PHP隔壁老王邻居的博客-CSDN博客 3、当前控…

PE启动盘和U启动盘(第三十六课)

PE启动盘和U启动盘(第三十六课) 一 WindowsPE工具盘 1. 制作WinPE镜像光盘 双击WePE64_V2.2-是-点击右下角光盘图标-选择ISO的输出位置-立即生成ISO 2. 通过光盘启动WinPE

Hybrid App 可以从哪些技术路径实现性能优化

说到 Hybrid App&#xff08;混合应用&#xff09;大家都不陌生&#xff0c;因为这种开发模式大行其道发展的这些年取代了很多原生和 Web 应用&#xff0c;为什么大家对这种「Native HTML5」的开发模式额外偏爱呢&#xff1f; 因为一方面在一定程度上兼顾了原生应用的优质体验…

第十九章 重要HL7操作场景

文章目录 第十九章 重要HL7操作场景HL7确认(ACK)模式HL7双确认序列 第十九章 重要HL7操作场景 本章描述了一些影响选择配置设置的关键HL7场景。 HL7确认(ACK)模式 HL7确认(ACK)消息确认目的地已收到HL7消息。负ACK (NACK)消息承认目的地知道传输&#xff0c;但没有捕获该消息…

文盘 Rust -- tokio 绑定 cpu 实践

tokio 是 rust 生态中流行的异步运行时框架。在实际生产中我们如果希望 tokio 应用程序与特定的 cpu core 绑定该怎么处理呢&#xff1f;这次我们来聊聊这个话题。 首先我们先写一段简单的多任务程序。 use tokio::runtime; pub fn main() {let rt runtime::Builder::new_mu…

Webstorm + Egg.js 进行断点调试

Webstorm Egg.js 进行断点调试 1、在工具栏找到编辑配置&#xff0c;创建已运行Node.js 应用程序的调试配置 2、debug调试配置 3、调试 4、查看断点是否起效