- 博客(352)
- 收藏
- 关注
原创 程序员必知的安全六脉神剑 STRIDE 模型详解
STRIDE 模型的价值,不在于它能“消灭所有漏洞”,像攻击者一样思考。当你在设计一个接口时,多问一句:“如果我是黑客,我会怎么搞垮它?—— 这就是 STRIDE 的真正意义。
2025-08-29 22:44:31
740
原创 Go 1.25新特性之容器感知功能详解
Go 1.25解决了困扰容器化部署10年的关键问题:GOMAXPROCS自动感知容器CPU限制。以往Go程序会默认使用物理机核心数(如32核),导致在限制2核的容器中产生严重性能问题——线程争抢、上下文切换爆炸和CPU配额耗尽。新版本会智能读取Cgroup配置,自动设置合理的线程数。实测显示升级后延迟降低62.5%,吞吐提升22.5%,且无需任何代码修改。这一改进标志着Go语言在云原生领域的重大进步,特别推荐Kubernetes环境中的延迟敏感型服务升级。
2025-08-27 21:32:21
1031
原创 Web 安全之最致命的隐形武器0day漏洞详解
很多人以为“0day”是“零天修复”的意思。错。厂商对这个漏洞,有“零天”的准备时间。漏洞已经被黑客发现;但你(和厂商)完全不知道;黑客已经写好了攻击代码;而你,毫无防备。这就像一场战争:敌军已经摸进你家后院,枪口对准了你,而你却还在看天气预报。
2025-08-25 20:53:11
644
原创 Web 安全之 HTTP 响应截断攻击详解
这不是危言耸听。在一次安全审计中,某电商平台发现:用户访问首页后,。但代码没被篡改,服务器没被入侵,日志一切正常。最终追查发现——罪魁祸首,竟是一个 %0d%0a(回车+换行)的URL参数。。它不靠漏洞提权,不靠暴力破解,而是用“文本注入”的方式,。今天,我们就来揭开这场“语言级”攻击的真相。
2025-08-21 21:48:53
1019
原创 Web 安全之延迟攻击(Delay Attack)详解
摘要(149字): 慢速攻击(Delay Attack)通过长期低强度消耗资源瘫痪服务,比传统DDoS更隐蔽。典型手法如Slowloris(缓慢发送HTTP头占用连接)、R.U.D.Y.(极慢提交POST数据)和慢速读取(拖慢接收速度)。时序攻击则通过分析响应时间微差异破解密码。防御需调整服务器超时设置、限制单IP连接、部署WAF识别异常低速行为。在云防护普及的当下,这类“以慢制胜”的攻击因成本低、隐蔽性强而日益流行,提醒安全人员需关注行为模式而不仅是流量阈值。
2025-08-20 22:25:14
932
原创 Web 安全之NTP反射攻击详解:一场藏在时间背后的网络风暴
NTP反射攻击是一种利用时间协议漏洞发起的DDoS攻击手段。攻击者通过伪造源IP向开放NTP服务器发送小请求,利用NTP协议的monlist功能可产生200倍以上的响应数据,形成海量攻击流量。 这种攻击具有成本低、隐蔽性强、破坏力大的特点:攻击者仅需少量带宽就能发动TB级攻击,且流量来自合法服务器难以溯源。虽然近年来通过禁用monlist、升级NTP版本等措施已大幅减少此类攻击,但仍有老旧设备存在风险。 防御需要多方协作:服务器管理员应升级NTP版本并关闭危险功能,ISP需部署入口过滤防止IP伪造,企业则应
2025-08-19 21:30:24
506
原创 Golang database/sql 包深度解析(二):连接池实现原理
本文介绍了Golang中database/sql包连接池的实现机制。sql.Open()返回的*sql.DB对象是连接池句柄,具有并发安全、惰性创建连接等特性。连接池通过freeConn管理空闲连接,connRequests处理等待请求,并支持最大连接数、空闲连接数等参数配置。获取连接时优先复用空闲连接,必要时创建新连接或排队等待。归还连接时放入空闲队列或分配给等待请求。通过SetConnMaxLifetime和SetConnMaxIdleTime实现连接生命周期管理。文章还详细说明了各关键参数的作用和配置
2025-08-17 19:48:53
1133
原创 Golang database/sql 包深度解析(一)
Go标准库中的database/sql包提供了与SQL数据库交互的统一接口,其核心设计理念是通过接口抽象实现数据库无关性。开发者只需导入特定驱动包并调用标准API即可操作各类数据库,无需关心底层实现。 该包主要包含7个核心类型:sql.DB(数据库连接池)、sql.Tx(事务)、sql.Stmt(预编译语句)、sql.Rows/sql.Row(查询结果)以及处理NULL值的sql.Null*系列类型。使用时需注意连接池配置、结果集遍历和资源释放等关键点。 基本操作包括:通过sql.Open()建立连接,使用
2025-08-17 09:05:32
981
原创 Web 安全之 Cookie Bomb 攻击详解
摘要: Cookie Bomb攻击是一种客户端拒绝服务攻击,通过向用户浏览器注入大量Cookie,导致HTTP请求头超出服务器处理上限,使服务器拒绝请求。攻击利用XSS漏洞设置恶意Cookie,当用户访问目标网站时,携带的Cookie过大触发服务器错误。其危害包括精准针对用户、影响持久且难以追溯。防御措施包括:服务器端合理配置请求头大小、部署WAF、加强子域名安全;客户端监控Cookie、设置CSP;用户可手动清除Cookie或使用无痕模式访问。该攻击威胁Web服务可用性,需多层面防护。
2025-08-15 21:03:45
688
原创 常被客户要求出具的 SOC 报告到底是什么?
SOC报告:服务组织控制评估的核心工具 SOC报告是由美国注册会计师协会(AICPA)制定的第三方审计标准,用于评估服务提供商(如云服务商、数据中心等)的内部控制措施。它分为SOC 1、SOC 2和SOC 3三类,分别针对财务报告、信任服务标准(安全、可用性、完整性等)及公开认证需求。 报告类型包括: Type I:评估控制措施在某一时间点的设计合理性; Type II:验证控制措施在一段时期内的执行有效性。 SOC报告的价值在于增强客户信任、满足合规要求、优化内部流程,并提升市场竞争力。获取流程包括确定范
2025-08-14 20:36:09
1125
原创 Debian新一代的APT软件源配置文件格式DEB822详解
Debian 11 开始引入基于 RFC 822 的 DEB822 格式作为新一代 APT 源配置标准。相比传统单行格式,DEB822 采用结构化"字段:值"段落设计,显著提升了可读性、可维护性和安全性。配置文件位于/etc/apt/sources.list.d/目录,以.sources为扩展名,支持模块化管理。关键字段包括Types、URIs、Suites和Signed-By等,通过分组配置减少冗余信息。该格式支持更清晰的注释、更安全的密钥管理,并可通过apt modernize-so
2025-08-13 21:09:12
609
原创 Web 安全之互联网暴露面管理
互联网暴露面(或攻击面)是指一个组织中,可以从互联网上被潜在攻击者访问到的所有IT资产的总和。服务器、路由器、交换机、防火墙、VPN网关、摄像头、打印机等。网站、API 接口、Web 应用程序、移动应用后端服务、电子邮件服务器等。云主机(VM)、对象存储(如 AWS S3, 阿里云 OSS)、数据库、容器、无服务器函数(Serverless)等。主域名、子域名、关联的 IP 地址块。SSL/TLS证书信息、公开的代码仓库(如GitHub)中的敏感信息泄露。组织使用的、但暴露了组织数据的第三方服务。
2025-08-12 21:21:07
1449
原创 登录系统英文使用 Sign In?Log In?还是 Log On?
在为“登录系统”选择最恰当的英文表达时,“sign in”, “log in”, 和 “log on” 都是可以使用的,但它们在现代用法、语境和各大科技公司的规范中有一些细微的差别。
2025-08-11 21:14:54
1267
原创 数字身份验证的未来 Passkey 技术详解
摘要: Passkey(通行密钥)是基于FIDO2和WebAuthn标准的新一代身份验证技术,通过公钥加密(设备存储私钥、服务器存储公钥)实现高安全性,替代传统密码。用户只需生物识别或PIN码即可快速登录,支持跨设备扫码验证,并可通过云端同步(如iCloud、Google账户)。相比密码,Passkey能有效防御钓鱼攻击和服务器泄露,同时提升用户体验。目前苹果、谷歌、微软等主流平台及PayPal、TikTok等服务已广泛支持,推动"无密码未来"加速到来。尽管密码短期内不会完全消失,Pas
2025-08-06 21:13:43
744
原创 gRPC Keepalive 机制详解与最佳实践
本文深入解析gRPC的Keepalive机制,探讨其在维护连接活性和检测僵尸连接方面的关键作用。文章详细对比了客户端和服务端的核心参数设置,包括PING间隔时间、超时设置及强制策略等,并阐述了这些参数之间的交互关系。针对不同应用场景,作者提供了具体的配置建议,强调客户端与服务端参数协调的重要性。最后指出MaxConnectionIdle和MaxConnectionAge等连接管理参数应与Keepalive机制配合使用,以构建更可靠的gRPC服务。全文150字,概括了gRPC连接保持的核心原理和最佳实践。
2025-08-05 21:17:35
924
原创 Web 安全之开放重定向攻击(Open Redirect )详解
摘要: 开放重定向漏洞存在于网站不安全处理用户可控URL时,攻击者通过构造恶意链接将用户从可信网站重定向至钓鱼或恶意网站。攻击流程包括诱骗用户点击、服务器执行重定向、最终实施窃取信息等攻击。防范措施包括避免直接使用用户输入URL、实施白名单验证、使用相对路径及重定向确认页面。该漏洞虽不直接破坏系统,但会显著提高钓鱼攻击成功率,需通过严格验证和定期安全审计加以防范。(149字)
2025-08-03 12:05:42
1131
原创 OAuth 2.0 的安全升级版授权协议 OAuth 2.1 详解
OAuth 2.1 是对 OAuth 2.0 协议的一次重大更新,废弃了不安全的用法,整合了最新的安全实践,从而提高了协议的安全性和易用性。虽然“OAuth 2.1”从名称上看起来像是一个全新的版本,但实际上并非对 OAuth 2.0 的彻底的颠覆,其实是 OAuth 2.0 的最佳实践集合,整合了多年来社区反馈的最佳使用方式并做了必要的安全性改进。
2025-08-02 13:17:27
834
1
原创 让 OAuth 授权码流程更安全的 PKCE 技术详解
PKCE(Proof Key for Code Exchange)是OAuth 2.0的重要安全扩展,旨在防止授权码拦截攻击。其核心原理是客户端在授权请求时生成并发送code_challenge(基于随机code_verifier计算得出),在获取令牌时需提供原始code_verifier进行验证。这种机制确保了只有合法客户端能完成令牌交换,因为攻击者即使截获授权码也无法获得原始code_verifier。PKCE通过一次性密码和哈希算法的单向性提供安全保障,现已成为OAuth 2.1的强制要求,适用于所有
2025-08-01 21:27:01
902
原创 Kubernetes 中 Pod 访问 API Server 的权限控制机制详解
在 Kubernetes 的设计理念中,确保对集群资源的安全访问是至关重要的。当部署在 Kubernetes 中的服务需要与 API Server 交互时,Kubernetes 也是采用了基于角色的访问控制(RBAC)机制来管理服务调用权限的范围的。通过 RBAC,管理员可以控制哪个服务可以访问哪些资源以及可以执行什么操作。这个机制会涉及到几个关键概念:ClusterRole、ClusterRoleBinding、Role、RoleBinding 和 ServiceAccount。
2025-03-01 16:21:21
1091
原创 实现单点登录到底该选哪种 SSO 协议?
SSO(Single Sign-On, 单点登录)是一种身份验证机制,用户通过一次登录即可访问多个相关但独立的软件系统,而无需再次输入用户名和密码。不同的 SSO 协议有不同的工作原理和应用场景。本文介绍的 SSO 协议之前都写过专门的文章进行了详细讲解,本文主要是做对比讲解,不会讲解细节,想了解细节的同学可以到我的文章目录里去查找到对应文章进行阅读。
2025-01-18 10:50:27
1225
原创 网络身份认证协议 Kerberos 详解
Kerberos 是一种网络认证协议,利用对称密钥加密技术为客户端和服务器之间的通信提供强身份验证。Kerberos 最初由麻省理工学院开发,作为 Athena 项目的一部分,旨在增强分布式计算环境中的安全性。如今,Kerberos已成为许多企业级应用中实现单点登录(SSO)的方案之一。
2025-01-12 08:26:15
1334
原创 使用 SAML 2.0协议需要注意的安全问题
SAML(Security Assertion Markup Language)2.0 是用于在不同安全域之间交换身份验证和授权数据的开放标准。通过 SAML 2.0 协议,服务提供商(SP, Service Provider)可以信任并依赖身份提供商(IdP, Identity Provider)的身份验证结果,为用户提供单点登录(SSO, Single Sign-On)体验。然而,在使用 SAML 2.0的过程中,如果配置不当或者安全性校验没做好,可能会导致严重的安全隐患。
2025-01-07 21:20:46
1150
原创 到底该如何理解事件驱动编程?
事件驱动编程(Event-Driven Programming, EDP)是计算机编程领域一种常见的编程范式,将程序的执行流程构建为一系列由外部或内部事件触发的函数调用,强调程序的执行流程由事件的发生来决定。这种模型与传统的顺序执行程序不同,在顺序执行中,指令按照代码中规定的顺序依次执行。事件驱动模式是等待特定事件的发生,然后根据该事件执行相应的代码块。这些事件可以是用户输入、网络数据包到达、文件系统变化、计时器到期等。
2025-01-04 10:33:49
1170
原创 轻量级通信协议 JSON-RPC 2.0 详解
JSON-RPC (JavaScript Object Notation - Remote Procedure Call) 是一种轻量级的远程过程调用协议,使用 JSON(JavaScript 对象表示法)作为数据格式。JSON-RPC 2.0 是该协议的最新版本,在 1.0 版本的基础上增加了一些特性,如错误代码标准化、批量请求支持和无响应的通知。JSON-RPC 的设计原则是简单性和互操作性,旨在为不同编程语言之间提供一种方便的方法来执行远程过程调用。
2025-01-01 09:00:24
4348
原创 IDE 强大功能背后的 Language Server Protocol 详解
IDE(Integrated Development Environment,集成开发环境)在软件开发过程中发挥着至关重要的作用,不仅提供了代码编辑的基本功能,还集成了代码补全、语法高亮、错误提示、代码导航等一系列高级特性,极大地提升了开发效率。这些高级特性的实现通常依赖于特定的语言和服务端的支持,每当适配一种新语言,就需要为这个语言实现单独的插件或扩展来提供这些特性。这种状况不仅增加了开发者的负担,也限制了跨平台和跨语言的协作。
2024-12-28 20:44:10
2295
3
原创 功能很强大的单点登录协议 SAML 2.0详解
SAML 2.0(Security Assertion Markup Language 2.0,安全断言标记语言 2.0)是一种基于 XML 的开放标准,用于在不同安全域之间交换身份验证和授权数据。通过 SAML 2.0, 用户可以在一个系统中进行身份验证后将身份验证信息传递给其他系统,而无需再次输入登录凭证。SAML 2.0是 SAML 规范的第二个主要版本,于2005年发布,主要提高了安全性和互操作性。服务提供者 (Service Provider, SP): 需要验证用户身份的应用或服务。
2024-12-23 22:31:39
2683
原创 实现客户端真实 IP 透传的协议 PROXY protocol 详解
PROXY protocol 是一种用于在代理服务器和后端服务器之间传输客户端连接信息的协议,旨在解决由于使用代理而导致的真实客户端信息丢失的问题。
2024-12-14 11:13:09
2404
1
原创 单点登录解决方案 CAS(Central Authentication Service)详解
Central Authentication Service(中央认证服务,简称 CAS)是一个开源的企业级单点登录(Single Sign-On, SSO)解决方案,主要用于 Web 应用系统,旨在为用户提供跨多个应用程序和服务的无缝身份验证体验。通过 CAS,用户在一个地方进行身份验证,然后可以无缝地访问多个相关但独立的软件系统,而无需再次进行身份验证。
2024-12-02 21:37:55
1278
原创 Go 工具链详解(八):go telemetry
Go 1.23 版本的工具链提供一个新工具——telemetry,用于收集 Go 工具链的使用和故障统计数据,以帮助 Go 团队了解工具链的使用情况和运行状态,从而进行改进和优化。
2024-11-21 07:10:42
1503
原创 OpenID Connect 和 OAuth 2.0 有什么不同?
在理解 OpenID Connect(OIDC)和 OAuth 2.0 之间的区别之前,再回顾下它们各自的基本概念。
2024-11-05 22:27:54
966
原创 你竟然还不了解 LDAP?
LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是用于访问和管理目录服务的一种开放协议,基于 X.500标准但简化了 X.500的复杂性,更易于实现和部署。LDAP 的主要目的是为了快速查询和访问用户信息,如用户名、密码、电子邮件地址或打印机连接等静态数据。LDAP 采用客户端/服务器模式,客户端通过 LDAP 协议与服务器进行通信、查询和修改目录中的信息。
2024-11-03 19:19:02
965
原创 一文讲清楚 OpenID Connect 支持的三个授权流程
OpenID Connect 支持多种授权流程(Authorization Grant Types),用于实现在不同场景下的授权和身份认证。在开始讲解前,再罗列一下 OpenID Connect 中的几个参与方,在正文中使用的关键概念一定要和这里的对齐,千万不要按照自己认为的意思去理解。
2024-10-31 16:31:28
1004
原创 都知道OAuth 2.0了却还不知道OpenID Connect?
OpenID Connect (OIDC,下文讲解中都使用这个简称) 是基于 OAuth 2.0 授权协议构建的一种身份验证协议,为第三方应用程序提供了一种获取、验证和利用用户身份信息的方法,旨在简化和标准化用户身份验证的过程。与传统的身份验证方法相比,OIDC 提供了一种更加安全、灵活且易于集成的解决方案。在深入讲解之前,先看下身份验证和授权这两个概念。
2024-10-23 22:45:50
870
原创 一文讲清楚 OAuth 2.0 支持的四个授权流程
OAuth 2.0协议支持多种授权流程(Authorization Grant Types),用于实现在不同场景下的授权。在开始讲解前,再罗列一下 OAuth 2.0 中的几个参与方,在正文中使用的关键概念一定要和这里的对齐,千万不要按照自己认为的意思去理解。
2024-10-20 17:18:12
1218
原创 你是否真的弄懂了 OAuth 2.0?
OAuth 2.0(Open Authorization 2.0,开放授权 2.0)是被广泛使用的一种开放的标准授权协议,用于授权一个应用程序访问用户在另一个应用程序上的受保护资源,而无需共享用户的访问凭证(如用户名和密码)。OAuth 2.0 的设计不仅提高了安全性,并且简化了开发者的集成过程。OAuth 2.0 并不是一种身份验证协议,而是专注于授权,即允许一个系统在不暴露用户凭证的情况下获得对另一个系统的访问权限。
2024-10-19 11:04:09
856
原创 前后端分离的情况下,后端接口有必要加CSP策略吗?
之前的写过一篇详细讲解 CSP 的文章《Web安全之Content Security Policy(CSP 内容安全策略)详解》,接下来再简单说一下什么是 CSP。通过 CSP,Web 开发者可以设置一组指令来限制哪些资源(如JavaScript、CSS、图片等)可以被加载,从哪些url加载,从而防止跨站脚本(XSS)、点击劫持(clickjacking)以及其他注入类攻击。CSP 的重要性在于能够有效地减少 Web 应用程序面临的安全风险,特别是在存在漏洞的情况下。
2024-09-18 22:13:03
944
原创 如何选择 Kubernetes Deployment 的更新策略?
Kubernetes Deployment支持两种更新策略:滚动更新(RollingUpdate)和重建更新(Recreate),用户可以根据实际需求选择合适的更新策略。
2024-09-10 22:13:32
645
原创 Kubernetes中三种探针的作用你真的知道吗?
之前的一篇文章《Kubernetes中配置livenessProbe、readinessProbe和startupProbe》详细讲解了几种探针的配置方式,本文详细讲解一下几种探针的作用和关系,有很多同学可能没有深入地探究过这几种探针,相信本文会带给你很多不知道的知识。
2024-09-02 22:30:12
802
原创 揭秘密码学中的经典角色 Alice 和 Bob
在密码学和信息安全领域,Alice 和 Bob 这两个名字的出镜率那是非常的高,已经成为了标准示例角色。随着密码学的普及,Alice 和 Bob 在教学材料、科研论文、书籍和讲座中被频繁使用。下面我们将探讨为什么 Alice 和 Bob 成为了这些领域的“常客”。
2024-08-25 16:13:45
1114
原创 能实现可算不可见的同态加密技术详解
同态加密(Homomorphic Encryption,HE)是一种满足密文同态运算性质的加密算法,可以在加密数据上直接执行特定的计算操作,而无需先解密数据。这种特性使得同态加密在保护数据隐私的同时,仍能进行有用的计算,非常适用于云计算和数据处理等领域。
2024-08-24 22:33:17
2182
golang echo框架获取request body和response body方法源代码
2023-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人