5.1 web浏览安全

news2024/12/23 14:04:46

数据参考: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、慎用代理服务器

代理服务器访问模式

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用next.js编写TodoList(连接了数据库)(提供源码)

准备 安装next可以查看nextjs入门使用_姚*鸿的博客的博客-CSDN博客 安装Prisma可以查看 使用Prisma访问数据库_姚*鸿的博客的博客-CSDN博客 确保你前面两个步骤做完。 再提醒以下记得修改数据库的信息: 源码地址 next-todolist: nextjs的todolist例子 效果演示 开始…

生信豆芽菜——箱线图+小提琴图使用说明

网站:http://www.sxdyc.com/diffBoxViolin 三、使用方法 1.打开网址(http://www.sxdyc.com/singleCollectionTool?href-diff),选择“箱线图小提琴图” 准备数据,数据格式用为txt文本,以制表符分割 第一个文件为特征…

VS Code 使用cnpm下载包失败

一、 问题如下: 网上找到的解决方法是要在powershell中执行: Set-ExecutionPolicy RemoteSigned进行更改策略。 首先我们解释下这个Set-ExecutionPolicy RemoteSigned,Set-ExecutionPolicy 是一个 PowerShell 命令,用于控制脚本…

基于ipad协议的gewe框架进行微信群组管理(二)

友情链接 geweapi.com 点击访问即可。 获取群组详情 小提示: 该接口可以一次查询20个群组查询出来的信息是不带公告的 请求URL: http://域名地址/api/group/detail 请求方式: POST 请求头: Content-Type:applica…

AI模型公司如何定位 ?

AI模型公司如何定位 ? 企业与消费者? 和 多用途与利基市场? 文本将分解每个象限。 消费类和多用途 最有价值的象限并引发了人工智能热潮。 顶级公司: Open AI - 通过 ChatGPT 为消费者构建,并通过其旗舰 GPT 模型为企…

【数据结构】反转链表、链表的中间节点、链表的回文结构(单链表OJ题)

正如标题所说,本文会图文详细解析三道单链表OJ题,分别为: 反转链表 (简单) 链表的中间节点 (简单) 链表的回文结构 (较难) 把他们放在一起讲的原因是: 反转链…

vray渲染如何设置?最佳 VRay 渲染设置

什么是 VRay 渲染设置? 让我们从基础开始吧。V-Ray 设置使您可以完全控制用于更改和调整渲染过程的参数。您可以通过“设置”选项卡中的“资源编辑器”找到它们,并且如您所见,它们组织在两个面板中。主面板显示场景设置的默认选项。 如果默认…

微软杀入Web3:打造基于区块链的AI产品

作者:秦晋 2023年1月,微软向 ChatGPT 创建者 OpenAI 投资 100 亿美元,在AI业界引发格外关注。此举也让微软在AI的战略探索上提前取得有利位置。 2023年3月,微软软件工程师 Albacore 披露微软正在为Edge 浏览器测试内置的非托管加密…

LVS/DR+Keepalived负载均衡实战(一)

引言 负载均衡这个概念对于一个IT老鸟来说再也熟悉不过了,当听到此概念的第一反应是想到举世闻名的nginx,但殊不知还有一个大名鼎鼎的负载均衡方案可能被忽略了,因为对于一般系统来说,很多应用场合中采用nginx基本已经满足需求&a…

已解决 RuntimeError: There is no current event loop in thread ‘Thread-1‘.

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

tp5中的事务处理

使用事务首先要数据库支持事务; 如下MySQL数据库user表开启事务支持,即设计表->引擎设置为InnoDB->保存 事务处理 1. 数据库的表引擎需要是 InnoDB 才可以使用,如果不是调整即可; 2. 事务处理,需要执行多个 SQ…

k8s之StorageClass(NFS)

一、前言 1、环境 k8s v1.23.5 ,服务器是centos7.9 192.168.164.20 k8s-master1 192.168.164.30 k8s-node1 192.168.164.40 k8s-node2 2、貌似storageClass在kubernetes v1.20就被砍了。 因为它比较慢,而且耗资源,但可以通过不同的实现镜…

3.1 Spring MVC概述

1. MVC概念 MVC是一种编程思想,它将应用分为模型(Model)、视图(View)、控制器(Controller)三个层次,这三部分以最低的耦合进行协同工作,从而提高应用的可扩展性及可维护…

深入探索:解读创意的力量——idea的下载、初步使用

目录 ​编辑 1.IDEA的简介 2.IDEA的下载 2.1下载路径https://www.jetbrains.com/zh-cn/idea/download/?sectionwindows​编辑​ 2.2下载的步骤 3 idea的初步使用 3.1新建一个简单的Java项目 3.1.1首先需要创建一个新的工程 3.1.2创建一个新的项目(模块&am…

39、传输层的任务和协议

从本节内容开始,我们学习TCP/IP模型的传输层的知识。传输层是TCP/IP模型中的重要组成部分,如果没有传输层的处理,那么源主机发送的IP数据包到达目的主机之后,目的主机将不知道这个数据是哪个应用程序的数据,就不能很好…

RTT(RT-Thread)线程间同步(保姆级)

目录 线程间同步 信号量 信号量结构体 信号量的使用和管理 动态创建信号量 实例 静态创建信号量 初始化和脱离信号量 获取信号量 信号量的互斥操作 获取信号量函数 释放信号量 信号量同步实例 互斥量(互斥锁) 互斥量的使用和管理 动态创…

【nacos】Param ‘serviceName‘ is illegal, serviceName is blank

报错信息 解决方式 一&#xff1a;缺少依赖 SpringBoot2.4之后不会默认加载bootstrap.yaml&#xff1b;需要手动在pom中加入如下依赖&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-boot…

SCAU操作系统知识点之(一)计算机系统概述

缩写词&#xff1a; OS: Operating System 操作系统 PSW: Program Status Word 程序状态字 FCFS: First Come First Serve 先来先服务 PCB: Process Control Block 进程控制块 DMA: Direct Memory Access 直接存储器存取 MMU: Memory Management Unit 内存管理单元 SSTF: Short…

【maven】通过profiles实现:怎样激活某个仓库、同时加载多个profile、不同环境加载不同依赖jar

文章目录 一. 基本用法二. 仓库激活方式1. 使用activeProfile激活2. 使用-P参数激活3. 使用-P参数不激活 三. 查看激活的仓库四. 不同环境依赖不同版本的jar Maven中的profile是一组可选的配置&#xff0c;可以用来设置或者覆盖配置默认值。有了profile&#xff0c;你就可以为不…

(el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

Ⅰ、Element-plus 提供的 Form 表单组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供 Form 表单组件情况&#xff1a; 其一、Element-plus 自提供的 Form 代码情况为(示例的代码)&#xff1a; // Element-plus 自提供的代码&#xff1a; // 此时是使用了 ts 语言环…