安全开发

为密码重置接口实现一次性令牌:从哈希存储到并发重放测试

“密码重置令牌设置了过期时间,就足够安全了”是一个容易漏掉并发条件的假设。过期时间只限制令牌何时不能再用;如果两次请求都在过期前读到同一条有效记录,而密码更新和令牌删除又是分开的操作,两次请求仍可能各自成功。要实现一次性令牌,关键不是缩短有效期,而是让校验、修改密码、消耗令牌形成不可拆开的事务。 准备:定义最小...
阅读全文
Web安全

授权测试 Web 会话退出机制:用双客户端验证凭证是否失效

在 Web 应用程序的安全评估中,退出登录功能常被误认为只是简单的前端操作。许多系统在用户点击“退出”后,仅通过前端脚本清除了浏览器的 LocalStorage 或覆盖了 Cookie,并在界面上重定向至登录页;然而,后端的会话状态并未销毁,原有的 Session ID 或 JWT 凭证依然能够正常访问受保护资...
阅读全文
渗透测试

SecurityTools 资源库上手指南:按渗透测试流程定位开源工具并做隔离验证

SecurityTools 适合在安全评估开始前回答一个实际问题:当前处于哪个测试阶段,应该先了解哪些工具,而不是把一长串开源项目逐个安装。GitHub 上的 birdhan/SecurityTools 是一个渗透测试工具资源库。使用它时,更稳妥的做法是把分类当作流程地图:先确定授权任务和所处阶段,再找候选工具...
阅读全文
安全开发

在同一 CI/CD 流水线中编排 SAST、DAST 与依赖扫描:从阶段划分到分级阻断与回滚

一次合并请求触发流水线后,最容易被忽略的安全假设是:扫描器越多、位置越靠前,门禁就越可靠。按这个假设,很容易把 SAST、依赖扫描和 DAST 全塞进同一个 security 阶段串行执行,任何一项有发现就 fail。结果是一个只改了三行样式的 MR 也要等 DAST 把整个预发布环境爬完,构建时间翻几倍,开发...
阅读全文
Web安全

授权测试 Webhook 回调地址:用受控接收端验证服务端请求伪造风险

本次测试的目标不是证明 Webhook 能发送请求,而是在明确授权的测试环境中,判断服务端是否会请求回调地址策略不允许的目标。测试前应取得回调配置权限、触发方式、允许测试的域名和时间窗口,并准备两个自有 HTTPS 接收端。两者都必须在授权范围内;即使要验证“被策略拒绝”的情形,也不要使用内网地址、云元数据服务...
阅读全文
信息安全

CVE-2026-87902 路径穿越影响 WordPress 4.7.0 至 7.1.1:版本核验、紧急更新与回滚准备

2026 年 9 月 22 日,WordPress 发布 7.1.2,修复编号 CVE-2026-87902 的未授权路径穿越漏洞。问题出在核心的页面模板解析流程:外部请求无需登录,就可能让程序加载当前主题目录之外的 PHP 文件;在特定主题结构和服务器配置叠加时,这一步还能继续升级为代码执行。官方给出的 CV...
阅读全文
安全运维

PHP漏洞报道引发关注:网站运维如何核验更新

近期关于 PHP 漏洞的报道,使 WordPress 及其他 PHP 站点的维护者面临更新决策。搜索资料中,宝塔面板已发布针对两项漏洞编号的修复说明,多家媒体也提到修复版本;但现有资料未提供可直接核对的 PHP 官方漏洞公告,不能仅凭报道认定所有站点的影响范围,或要求所有环境立即升级。 先区分公告来源与适用范围...
阅读全文
云原生安全

Kubernetes 容器多租户隔离验证:从 RBAC、资源配额到 NetworkPolicy 的边界实测

在云原生环境中,同一 Kubernetes 集群为多个租户提供服务时,确保资源隔离至关重要。命名空间提供逻辑隔离,但并非安全边界。RBAC、ResourceQuota 和 NetworkPolicy 是构建真实隔离的主要控制点。这些控制点共同构成了多租户隔离的边界,需通过可复现的验证来确认其是否真实有效。 准备...
阅读全文
渗透测试

授权渗透测试交战规则落地教程:从范围边界、停止条件到证据与数据处置

授权书签完字,并不意味着测试可以马上开始。真正决定一次渗透测试是“合规交付”还是“事故复盘”的,是签字之后那段把条款翻译成动作的过程:授权书上的“测试范围:example.com”到底包不包含子域、CDN 回源 IP 和第三方 SaaS?时间窗写的是工作日 9:00–18:00,那凌晨跑完的扫描任务要不要停?“...
阅读全文