细说web安全
文章平均质量分 69
路多辛
分享编程知识与经验
展开
-
Web 安全之 SSL 剥离攻击详解
SSL(Secure Sockets Layer)是用于在互联网上建立加密连接,确保数据在客户端和服务器之间传输的过程中不被窃取或篡改一种安全协议。TLS(Transport Layer Security)是 SSL 的升级版,提供了更强的安全功能。在 SSL/TLS 的保护下,用户可以通过 HTTPS 协议安全地访问网站,避免敏感信息(如登录凭证、信用卡信息等)被中间人攻击者窃取。浏览器发送一个包含支持的 SSL/TLS 版本、加密算法选项等信息的“客户端Hello”消息。原创 2024-04-05 14:41:19 · 1117 阅读 · 0 评论 -
Web 安全之路径遍历攻击详解
路径遍历攻击的核心原理在于利用目标系统处理用户输入时的不安全或疏忽行为,尤其是当应用程序接受用户提供的文件名或路径,并据此进行文件操作(如读取、写入或执行文件)时。攻击者会提交精心构造的恶意路径,其中包含了特殊的字符序列或编码,使得原本应该在限定目录下的文件操作跨越了预设边界,进而访问到服务器文件系统的其他位置。原创 2024-04-01 21:18:12 · 638 阅读 · 0 评论 -
Web 安全之 CSV 注入攻击详解
CSV 是一种简单的文件格式,用于存储表格数据,每行一个数据记录,每个记录由逗号分隔的多个字段组成。CSV 文件因其简单性和跨平台性而被广泛使用,在数据导出和导入中尤其常见。CSV 注入攻击是攻击者通过某些方式在 CSV 文件中注入恶意的代码,并利用电子表格软件处理 CSV 文件时的特性来执行恶意代码实现非法操作的攻击方式。这种攻击通常发生在应用程序在处理 CSV 文件时,没有正确地校验或转义用户输入的特殊字符,从而被攻击者利用在 CSV 文件中注入恶意代码。原创 2024-02-25 16:38:23 · 1239 阅读 · 0 评论 -
打破静态安全扫描工具分析结果孤岛的桥梁-SARIF 详解
在软件开发过程中,静态分析是保障代码质量的一个重要方法。静态分析工具可以在不运行程序的情况下检查源代码,发现代码中的质量和安全问题。然而不同的静态分析工具可能会产生不同的输出格式,这给工具之间的结果交换和集成带来了很大的挑战。为了解决这个问题,微软提出了 SARIF(Static Analysis Results Interchange Format,静态分析结果交换格式)标准。原创 2024-01-29 21:42:36 · 463 阅读 · 0 评论 -
Web 安全之点击劫持(Clickjacking)攻击详解
点击劫持(Clickjacking)攻击,又称为界面伪装攻击,是一种利用视觉欺骗手段进行攻击的方式。攻击者通过技术手段欺骗用户点击本没有打算点击的位置,当用户在被攻击者攻击的页面上进行操作时,实际点击结果被劫持,从而被攻击者利用。这种攻击方式利用了用户对网站的信任,通过覆盖层(通常是透明的iframe)覆盖在另一个网页之上,使受害者无法察觉。原创 2024-01-27 17:19:22 · 1287 阅读 · 0 评论 -
Web 安全之水坑攻击(Watering Hole Attack)详解
水坑攻击(Watering Hole Attack)是一种精心策划的网络攻击策略,针对目标群体的用户,通过感染他们经常访问的网站来散播恶意软件、收集用户信息等。这种攻击方式的名称源于野生动物的捕食行为,捕食者会在水坑等地方等待猎物,因为猎物会经常来到这些地方饮水。同样地,攻击者会寻找目标群体经常访问的网站,将这些网站变成“水坑”,比如行业内部网站、论坛或软件供应商的网页。当目标用户访问这些被污染的网站时,就会被悄无声息地下载恶意软件或遭受其他形式的安全威胁。原创 2024-01-18 21:18:45 · 1396 阅读 · 0 评论 -
API 接口到底要不要添加签名机制?
API 签名机制是用于确认消息的来源和保护数据完整性的一种安全措施。发送方(客户端)使用和接收方(服务器端)预先约定的密钥和签名算法,对请求数据(请求体、时间戳、随机数等按照特定规则进行排序和拼接)计算出一个签名。发送方将生成的签名作为请求头或请求参数的一部分,随 API 请求一起发送。接收方在接收到请求后,使用相同的密钥和签名算法,对请求数据(和发送方采用一样的排序和拼接方式)计算出一个签名,并与接收到的签名进行比较,一样则处理请求,否则拒绝。原创 2023-12-24 19:37:49 · 1217 阅读 · 0 评论 -
Web 安全之文件下载漏洞详解
在数字化时代,文件下载是网络应用程序的重要的功能之一,用户可以通过这一功能获取所需的数据和信息。但是这一看似简单的功能的实现一不小心就会产生安全风险,即文件下载漏洞。攻击者可以通过文件下载漏洞非法获取到服务器上的敏感文件或受保护的文件,导致数据泄露、系统被入侵、知识产权被窃取等一系列严重后果。本文将深入讲解文件下载漏洞的原理、类型、攻击方式、影响和防护措施。原创 2023-12-24 10:46:54 · 2026 阅读 · 0 评论 -
Web 安全之文件上传漏洞详解
文件上传漏洞是网络安全中的常见问题,通常发生在网站或应用程序允许用户上传文件到服务器的场景。这类漏洞如果被攻击者利用,可能导致数据泄露、非法文件分发、服务器入侵甚至整个系统被控制。本文将深入讲解文件上传漏洞的类型、攻击方式、影响以及防护措施。原创 2023-12-20 21:34:08 · 1178 阅读 · 0 评论 -
Web 安全之公钥基础设施 PKI 详解
公钥基础设施(Public Key Infrastructure,PKI)是一种利用公钥密码学原理实现安全通信和数字签名的系统。它提供了一种信任模型,使得用户可以确信与他们通信的对象是可信的,并且通信的内容不会被篡改。要深入理解PKI,需要从基本的加密概念讲起,逐步深入到 PKI 的核心组成部分、工作原理和在现实世界中的应用。原创 2023-12-11 21:26:22 · 1154 阅读 · 0 评论 -
网络通信安全的坚固防线双向认证技术详解
双向认证,又称为双向身份验证或双向鉴别,是一种在通信双方之间建立信任关系的安全机制。在通信过程中,两个实体需要进行双向的身份认证,具体来说,客户端向服务器发送请求或者服务器端接收客户端的请求时,服务器端需要认证客户端;服务器向客户端发送请求或者客户端接收服务器的请求时需要认证服务器端。这样,只有双方都通过对方的认证请求时,通信才会被允许。例如在标准的 SSL/TLS 认证中,一般只有客户端验证服务器端的身份,而在双向认证中,服务器端也会验证客户端的身份。原创 2023-11-30 22:00:19 · 1618 阅读 · 0 评论 -
Web 安全之 X-XSS-Protection 详解
跨站脚本(XSS)是一种常见的网络攻击,攻击者通过在网站中插入恶意脚本,当用户访问被污染的页面时,恶意脚本会被执行,从而窃取用户的敏感信息、篡改页面内容或者执行其他恶意操作。XSS 攻击分为三种类型:持久型、DOM-based 型和反射型 XSS(非持久型)。持久型 XSS:攻击者在网页中插入恶意脚本,并将其保存到服务器或数据库中。当其他用户访问该页面时,恶意脚本会被执行,从而进行长期的网络攻击。这种类型的攻击比较危险,因为可以长期地影响用户。原创 2023-11-27 20:58:09 · 1566 阅读 · 0 评论 -
Web 安全之证书透明(Certificate Transparency)详解
证书透明(Certificate Transparency, CT)是网络安全领域中的一个重要概念,是一个针对数字证书的公开监督系统,旨在增加 SSL/TLS 证书颁发和管理的透明性,防止证书颁发机构(Certificate Authorities, CAs)错误或恶意地颁发证书,从而增强互联网的安全性。本文将详细解释证书透明的概念、原理、实现方法和实际应用。原创 2023-11-26 10:56:31 · 1349 阅读 · 0 评论 -
Web 安全之时序攻击 Timing Attack 详解
Timing Attack(时序攻击)是一种侧信道攻击(timing side-channel attacks),攻击者通过精确测算和分析加密算法的执行时间来推导出密码。这种攻击方式利用了计算机处理不同数据的时间差异来获取敏感信息,通常针对密码系统或加密算法。原创 2023-11-11 20:22:04 · 840 阅读 · 0 评论 -
Web 安全之 Permissions Policy(权限策略)详解
Permissions Policy 为 web 开发人员提供了明确声明哪些功能可以在网站上使用,哪些功能不能在网站上使用的机制。可以设置一组策略,用于限制站点代码可以访问的 API 或者修改浏览器对某些特性的默认行为。设置 Permissions-Policy 可以在代码库不断演进的同时强制执行最佳实践,同时更安全地组合第三方内容。Permissions Policy 类似于 Content Security Policy(CSP 内容安全策略),但控制的是功能特性,而不是安全行为。原创 2023-09-11 21:13:35 · 2587 阅读 · 0 评论 -
Web 安全之 SRI(Subresource Integrity 子资源完整性)详解
SRI,全称是 Subresource Integrity,即子资源完整性,是一种用于防范恶意攻击和提高网站安全性的策略,可以用来防止网站引用的资源(例如 JavaScript、CSS、图片等)被篡改。这个策略是通过在引用资源时提供一个对应的哈希值来实现的,浏览器在加载资源时会计算其哈希值,如果计算出的哈希值与对应的哈希值不相等,浏览器就不会加载这个资源。原创 2023-08-23 23:11:49 · 1182 阅读 · 0 评论 -
如何在本地环境使用 CodeQL 扫描出代码中的安全漏洞?
CodeQL 是用于自动执行安全检查的分析引擎。在 CodeQL 中,代码被视为数据。安全漏洞、bug 和其他错误被建模为可针对从代码中提取的数据库执行的查询。可以运行由 Github 研究人员和社区参与者编写的标准 CodeQL 查询,也可以自己编写查询用于自定义分析。接下来以 Golang 项目为例来看下如何下载安装和使用 CodeQL。原创 2023-08-02 22:15:20 · 409 阅读 · 0 评论 -
Web 安全之 HSTS 详解和使用
HSTS(HTTP Strict Transport Security) 是一种网络安全机制,可用于防范网络攻击,例如中间人攻击和 CSRF(Cross-Site Request Forgery)等攻击。本文将详细介绍 HSTS 的工作原理、应用场景以及如何在网站中开启 HSTS。原创 2023-06-22 22:01:56 · 1960 阅读 · 0 评论 -
Web安全之充分利用 X-Content-Type-Options
X-Content-Type-Options 是一种 HTTP 响应头,用于控制浏览器是否应该尝试 MIME 类型嗅探。如果启用了 X-Content-Type-Options,浏览器将遵循服务器提供的 MIME 类型,用于防止浏览器执行 MIME 类型错误的响应体(response body)。原创 2023-06-13 21:09:12 · 6561 阅读 · 0 评论 -
Web安全之SCA(软件成分分析测试)详解
SCA(Software Composition Analysis),软件成分分析,是一种用于测试软件组件的质量和可靠性的方法。通过对软件组件进行详细的分析,找出其中的缺陷和问题,以便在软件发布之前进行修复。当下软件开发中,需要依赖大量的三方库、组件,也会使用大量的开源代码片段。例如容器化会使用开源的基础镜像或者商业公司维护的免费镜像,数据库可能会使用开源的MySQL、MongoDB、PostgreSQL等,代码中会使用大量的三方包等等。原创 2023-04-21 22:05:30 · 208 阅读 · 0 评论 -
Web安全之IAST(Interactive Application Security Testing)详解
IAST(Interactive Application Security Testing),交互式应用程序安全测试,是一种自动化的应用程序安全测试技术,通过结合动态分析和静态分析的方法来检测应用程序中的安全漏洞。通过插桩技术(Instrumented)收集安全信息,持续地从内部运行的代码中发现安全和逻辑问题,提供实时的报警和展示,从而帮助开发人员快速定位和修复相关问题。在整个软件开发生命周期中,可以在开发与测试阶段中使用IAST工具。IAST是一种应用程序运行时的漏洞检测技术,这一点和DAST是类似的。原创 2023-04-19 23:24:12 · 143 阅读 · 0 评论 -
Web安全之SAST和DAST(静态和动态应用程序安全测试)详解
SAST(static application security testing),静态应用程序安全测试,是一种白盒测试方法。通过检查代码以发现软件缺陷和安全漏洞,SAST是在软件开发生命周期(SDLC)的早期阶段(可以理解为编码阶段)发现代码漏洞,由于SAST是通过扫描源代码发现漏洞,所以能够精确给出存在漏洞的代码行。DAST(dynamic application security testing),动态应用程序安全测试,是一种黑盒测试方法。原创 2023-04-18 23:16:18 · 525 阅读 · 0 评论 -
Web安全之Content Security Policy(CSP 内容安全策略)详解
Content-Security-Policy值由一个或多个指令组成,多个指令用分号分隔。script-src:外部脚本style-src:样式文件img-src:图片文件media-src:媒体文件(音频和视频)font-src:字体文件object-src:插件(比如 Flash)child-src:框架frame-ancestors:嵌入的外部资源(比如、、和)原创 2023-04-12 21:58:40 · 5577 阅读 · 0 评论 -
Web安全之RAM Scraper类攻击详解及预防
RAM Scraper攻击是指攻击者在目标设备中植入一种称为RAM Scraper的程序,通过扫描和复制计算机的内存,来跟踪用户的在线活动、收集有关用户计算机的信息、窃取敏感信息、破坏计算机的安全性等等。RAM Scraper攻击通常针对POS(Point of Sale)系统攻击,因为POS系统是用于支付交易的计算机系统,攻击者目标是从POS系统内存中窃取信用卡号、密码和其他与支付相关的信息。原创 2023-04-11 23:25:57 · 386 阅读 · 0 评论 -
Web安全之服务器端请求伪造(SSRF)类漏洞详解及预防
假设一个电商网站,展示商品详情的时候也同时展示库存数量,库存数量需要提供商品详情信息的后端服务通过REST API查询其他后端服务得到,而其他后端服务的URL地址直接包含在查询商品详情的接口中,作为此接口的一个参数。应用程序为了给用户提供更多更方便的功能,从另一个URL获取数据的场景越来越多,因此SSRF漏洞也越来越多。当服务器向用户提交的未被严格校验的URL发起请求的时候,就有可能会发生服务器端请求伪造(SSRF,即Server-Side Request Forgery)攻击。此时,服务端就会访问。原创 2023-02-22 22:29:44 · 530 阅读 · 0 评论 -
Web安全之安全日志记录和监控故障详解及预防
没有安全日志记录和监控并不会直接导致安全问题的发生,但是日志记录和监控非常重要,它们的缺失或故障会直接影响系统可观测性、故障发现时间和故障排查进度,进而给客户和公司造成更多的损失。因此,拥有日志系统和监控系统来收集日志并在发生故障或错误时及时警报并排查问题是非常重要的。是不是恨自己之前为什么没做日志记录,为什么没有上监控系统?没有记录关键的操作记录,例如用户登录记录、关键操作记录、审计记录等。监控系统的监控任务设置不正确,不能及时报警或报警信息模糊。确保日志系统和监控系统的安全性,做好访问控制。原创 2023-02-15 20:39:45 · 279 阅读 · 0 评论 -
Web安全之软件和数据完整性故障类漏洞详解及预防
当程序中整合了三方库、插件、模块等资源时、使用关键数据时、在安装或更新软件时,因为没有校验完整性而导致的安全漏洞统称为软件和数据完整性故障类漏洞(Software and Data Integrity Failures)。在程序开发过程中,难免会使用到三方库、插件、模块等,对应的文件很多可能是存储在公共平台上的,例如github、gitlab、gitee等,所以使用这些资源的时候校验它们的完整性尤为重要。当程序中使用用户提交的数据或者从三方获取的数据时,如果缺少对数据完整性的校验,也很容易出现安全问题。原创 2023-02-14 18:06:00 · 396 阅读 · 0 评论 -
Web安全之认证及验证机制失效类漏洞详解及预防
对登录成功后下发的 token 需要保证足够的随机性,比如采用足够强的随机数生成算法生成 token,用户登录完成后要生成新的 token 并且给 token 设置一个合理的有效期(例如十分钟、半个小时、一个小时等,时间不宜过长),token 要安全保存,用户长时间不操作或者退出系统要销毁 token。提高密码的复杂度,例如要求密码长度8位以上,区分大小写字母,为大写字母、小写字母、数字、特殊符号中两种及以上的组合,不要有连续的字符比如1234abcd,尽量避免出现重复的字符比如1111。原创 2023-02-08 23:30:00 · 521 阅读 · 0 评论 -
Web安全之易受攻击和过时的组件类漏洞详解及预防
易受攻击和过时的组件(Vulnerable and Outdated Components)类漏洞看名字就很容易理解,就是使用了具有已知漏洞的组件或者已经过时的组件。由于过时的组件不再被维护,会被发现越来越多的安全漏洞但是漏洞也不会再被修复,就会带来极大的安全隐患。当然,这里的组件不是狭义的组件,可以指代码里面引用的三方库、应用程序、操作系统、数据库、服务器、Linux 内核等等。在被暴出漏洞的情况下或有新版本的情况下,没有及时修复或升级系统、框架或依赖库的版本。不清楚使用的组件和依赖的组件的版本。原创 2023-02-06 21:58:26 · 735 阅读 · 0 评论 -
Web安全之安全配置错误类漏洞详解及预防
例如使用了有安全缺陷的版本、没有修改默认的帐户密码、给了某些帐户过高的权限、对敏感资源没有做访问控制等等,让攻击者有了可乘之机,可以不经授权就可以访问某些系统数据或使用系统功能。现代化的的应用程序基本都是高度可配置化的,所以安全配置错误类漏洞会越来越多,在配置使用三方应用程序或自研应用程序时,都需要特别注意避免此类漏洞的产生。安装或使用了不必要的功能,例如服务器启用了不必要的端口、系统添加了不必要的帐户、给帐户分配了不当的权限等。在应用程序堆栈的某些部分缺少适当的安全强化,或对系统用户的权限配置不当。原创 2023-02-05 18:25:24 · 1421 阅读 · 0 评论 -
Web安全之不安全的设计类漏洞详解及预防
不安全的设计漏洞主要指在系统设计和架构设计中,由于不恰当的设计导致的安全风险。需要注意不安全的设计和不安全的实现的区别,因为它们有不同的原因和预防措施。不安全的设计即使完美得被实现出来,也依然是有问题的,因为在设计过程中就没有考虑针对特定攻击的安全防范措施。2、导出文件功能,禁止使用先生成公共读的下载链接给到客户端下载的方式,需要使用更安全的方式来实现,例如二进流制形式下载。列出的这五条只是不安全的设计类漏洞的很小一部分,更多的相关漏洞需要根据漏洞定义去体会和理解。常见的不安全的设计类漏洞及预防措施。原创 2023-02-03 22:48:34 · 595 阅读 · 0 评论 -
Web安全之注入类漏洞详解及预防
注入类攻击是 Web 安全领域中最常见的攻击方式,注入攻击发生在当不可信的数据作为命令或者查询语句的一部分被发送给解释器的时候。预防注入类攻击的最好方法是代码审核,可以将静态的(SAST)、动态的(DAST)和交互式(IAST)的安全测试工具集成到 CI/CD 流程中,以便在部署到生产环境之前检测出并解决掉注入类安全问题。注意避免xml注入、代码注入、SQL注入、HTML注入等注入型安全问题的发生,一定要在数据拼接的地方进行安全检查,对拼接内容进行严格校验和必要的转义处理。常见的注入类漏洞及预防措施。原创 2023-01-31 22:05:12 · 823 阅读 · 0 评论 -
Web安全之加密机制失效类漏洞详解及预防
密钥推荐使用强随机数算法生成,不同的加密场景使用独立密钥,密钥推荐保存在 kms 系统中(即密钥管理系统,最好是硬件级别的 kms 系统),即使开发人员在开发过程中也不能接触到密钥明文。3、密钥使用类似 12345678 或者 abcdefgh 等很容易被猜测到的值,或者多处加密使用了相同的密钥,或者密钥直接硬编码在了程序代码或项目的配置文件中。DES 算法已经可以被破解,请使用安全的加密算法,例如 AES,注意不要使用 EBC模式,建议使用更安全的 CBC 模式。是否使用了加密算法的不安全的模式?原创 2023-01-15 16:09:41 · 821 阅读 · 0 评论 -
Web安全之越权访问类漏洞详解
越权访问类(Broken Access Control)漏洞是一种非常常见的逻辑安全漏洞,可以理解为服务端对客户端的数据操作请求过分信任,一个用户一般只能对自身的信息进行增删改查,然而由于后端开发人员的疏忽,没有对用户的增删改查权限进行严格校验或根本就没有校验,从而导致被攻击账户拥有了对其他账户的增删改查权限。越权类访问类漏可以划分为水平越权访问、垂直越权访问、无权限控制三大类。水平越权访问是由于服务器端在处理用户的增删改查请求时没有判断数据的所属人或者所属主体而导致的越权数据访问漏洞。原创 2022-12-18 19:31:04 · 1052 阅读 · 0 评论