数据参考: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
- 攻击者构造包含恶意脚本的链接。
- 攻击者将恶意链接发送给目标用户。
- 用户点击恶意链接。
- 用户的浏览器向服务器发送请求,将恶意脚本作为参数包含在请求中。
- 服务器从请求中获取恶意脚本参数并将其反射到响应结果中。
- 响应结果被发送回用户的浏览器。
- 用户的浏览器解析响应结果并执行其中的恶意脚本。
存储型XSS
- 攻击者将恶意脚本代码上传到目标网站的数据库中。
- 用户访问包含恶意脚本的页面。
- 从数据库中检索到的恶意脚本被包含在响应结果中。
- 用户的浏览器解析响应结果并执行其中的恶意脚本。
DOM型XSS
- 攻击者通过DOM操作动态插入恶意脚本代码。
- 用户触发了包含恶意脚本的事件,例如点击按钮或提交表单。
- 修改后的DOM结构被浏览器重新解析和执行。
- 浏览器执行恶意脚本并导致攻击发生。
危害
-
执行命令:恶意脚本可以在用户的浏览器环境中执行任意 JavaScript 代码,可能导致攻击者能够执行非授权的操作,例如获取敏感信息、修改页面内容或重定向用户到其他恶意网站。
-
劫持用户会话:通过劫持用户会话,攻击者可以伪造用户身份,访问用户的账户,并在其名义下进行各种活动,例如发表言论、修改个人资料、进行金融交易等。
-
插入恶意内容:攻击者可以通过XSS攻击在受影响网站上插入恶意内容,例如广告、恶意链接、虚假表单等,这可能欺骗用户、引导用户点击恶意链接或泄露敏感信息。
-
重定向用户访问:攻击者可以利用XSS漏洞将用户重定向到其他恶意网站,这可能涉及钓鱼攻击、传播恶意软件或进一步诱导用户暴露个人敏感信息。
-
窃取用户会话信息:通过XSS攻击,攻击者可以窃取用户的会话信息,例如会话ID、Cookie数据等,从而获取用户的权限和身份验证凭据。
-
隐私信息:攻击者可以通过注入恶意脚本,窃取用户的敏感信息,包括个人身份信息、信用卡号码、密码等。这些信息可能被用于非法目的,例如身份盗窃、欺诈活动等。
-
下载蠕虫木马到受害者计算机:一些高级的XSS攻击可能会导致在用户计算机上下载和执行恶意软件,例如蠕虫、木马或其他恶意程序,从而使攻击者完全控制受害者计算机。
2、跨站请求伪造 (CSRF)
基础概念
- 跨站请求伪造是一种以用户身份在当前已经登录的Web应用程序上执行非用户本意操作的攻击方法。
- 在2017年发布的新版 OWASP Top10中,CSRF排名第8
攻击原理
- CSRF(跨站请求伪造)是一种以用户身份进行冒充进行正常操作的攻击方式,而不是直接针对服务器的攻击。
- 这种攻击通常发生在服务端没有对请求进行严格过滤和验证的情况下。
CSRF攻击的一般流程如下:
-
受害者登录:受害者在目标网站上进行登录,并且会话凭证(如Cookie)被存储在浏览器中。
-
构造恶意页面或链接:攻击者创建一个恶意网页或构造恶意链接,并诱使受害者访问。
-
伪造请求:恶意页面中包含了针对目标网站的请求,该请求通常是一个非常规的操作(如修改密码、发起资金转账等),攻击者通过JavaScript或其他方式自动触发这个请求。
-
发送请求:当受害者访问恶意页面时,其中包含的请求会在受害者的浏览器中被执行。由于受害者已登录目标网站并具有有效的会话凭证,浏览器会自动携带这些凭证发送请求到目标网站,目标网站无法分辨此请求是否为受害者本人发送的。
-
完成攻击:目标网站接收到请求后,会以为是受害者自己发起的合法请求,并执行相应的操作,导致攻击成功。
需要注意的是,攻击者需要找到适合的漏洞和目标网站,才能成功进行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、慎用代理服务器
代理服务器访问模式
代理服务器访问模式的安全隐患
- 在代理模式下,用户的访问信息都需要通过代理服务器进行处理
- 如果对代理服务器的安全性无法保证,应尽量避免使用。