漏洞挖掘实战系列(第3期):Web专项(下)权限类+新兴漏洞,拿下剩余40%分值

admin 2026-01-08 02:07:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文档聚焦CTFWeb竞赛中的权限与新兴漏洞,解析越权、JWT、反序列化及SSRF挖掘技巧。文章结合真题案例,详述漏洞利用流程与避坑指南,提供实战工具,帮助选手掌握进阶考点,提升竞赛得分率。 综合评分: 83 文章分类: CTF,WEB安全,漏洞分析,渗透测试


cover_image

漏洞挖掘实战系列(第3期):Web专项(下) 权限类+新兴漏洞,拿下剩余40%分值

原创

点击关注👉

网络安全学习室

2026年1月7日 10:32 湖南

Web模块剩下的40%分值,全藏在权限类漏洞新兴漏洞里——这些漏洞看着“进阶”,但掌握固定流程后,比注入/文件类漏洞更好拿分(很多选手会直接放弃这类题)。本期拆解2025赛事高频的越权、JWT、反序列化、SSRF漏洞,附真题案例和可复用脚本!

一、权限类漏洞:绕开验证,直接拿敏感数据

权限类漏洞的核心是服务器未正确校验用户身份/权限,常见类型是“越权”和“JWT缺陷”,CTF中占Web题25%分值。

1. 越权漏洞:低权限用户干高权限的事

(1)2种高频越权类型

| 类型 | 场景 | 测试方法 | | — | — | — | | 水平越权 | 同权限用户访问他人数据(如查看其他用户的订单) | 篡改请求中的user_id(如把user_id=1改成user_id=2) | | 垂直越权 | 低权限用户访问高权限功能(如普通用户进后台) | 直接访问/admin页面,或篡改Cookie中的role字段(如role=userrole=admin) |

(2)真题实战:2025 DEF CON「auth_bypass」(垂直越权)

场景:靶场普通用户登录后,页面显示“无权限访问后台”,但后台地址/admin可直接访问。

核心步骤

  1. 用普通账号登录,抓包获取Cookie(如user=test; role=user);
  2. 修改Cookie中的role=admin,重放请求访问/admin
  3. 后台页面直接显示flag:flag{vertical_bypass_2025}

(3)避坑点

  • 别只改Cookie:部分网站会把权限信息存在请求头(如X-Role)或URL参数里,要全量测试。
  • 测试完要还原:避免被靶场检测到恶意操作封IP。

2. JWT漏洞:篡改令牌,直接提权

JWT(JSON Web Token)是Web常用的身份令牌,漏洞点集中在“签名校验”和“密钥”上。

(1)漏洞识别

  • 拿到JWT令牌(通常在Cookie或Authorization头里),格式为Header.Payload.Signature
  • 用JWT.io解析,查看alg(签名算法)字段。

(2)2种高频利用方法

方法1:算法伪造(alg=none
  • 原理:部分服务器支持“无签名”算法,直接篡改Payload后去掉Signature;
  • 步骤:
  1. 解析JWT,将alg改为none
  2. 修改Payload中的roleadmin
  3. 删除Signature部分,最终令牌格式为Header.Payload.(注意末尾有个点);
  4. 替换原令牌,访问后台拿flag。
方法2:密钥爆破
  • 原理:若algHS256(对称加密),且密钥是弱口令,可爆破密钥后篡改令牌;

  • 工具:用jwt_tool爆破,命令:

  • 拿到密钥后,用JWT.io重新生成签名,篡改Payload提权。

二、新兴漏洞:抓住赛事“新考点”,轻松拉开分差

2025 CTF Web题新增了反序列化SSRF漏洞,这两类题选手覆盖率低,会做就能稳拿分。

1. 反序列化漏洞:让程序执行“恶意代码”

反序列化的本质是将数据还原为对象时,执行了恶意构造的代码,CTF中PHP和Java反序列化最常见。

(1)漏洞识别

  • 找序列化数据:通常是长字符串(如PHP的O:4:"User":2:{s:4:"name";s:5:"test";s:3:"age";i:18;});
  • 测试方法:修改序列化数据中的字段,观察程序是否崩溃或执行异常操作。

(2)PHP反序列化实战:CTFHub「unserialize」

场景:靶场接收序列化的User对象,存在__destruct()魔术方法(对象销毁时执行)。

核心步骤

  1. 构造恶意序列化数据:

  2. 将生成的字符串提交给靶场,程序执行system()命令,直接返回flag。

(3)工具:PHP反序列化Payload生成器

直接用在线工具(如PHP Serialize Online)生成Payload,不用手动写代码。

2. SSRF:让服务器帮你“内网探洞”

SSRF(服务器端请求伪造)是利用服务器发起未授权的网络请求,可用来读取内网文件、攻击内网服务。

(1)漏洞识别

  • 找能输入URL的功能:如“图片链接转存”“远程文章抓取”;
  • 测试Payload:输入http://127.0.0.1,观察页面是否返回内网服务信息。

(2)2种高频利用方法

方法1:读取本地文件
  • Payload:file:///etc/passwd(Linux)或file:///C:/Windows/system32/drivers/etc/hosts(Windows);
  • 若页面返回文件内容 → 直接找/flag文件。
方法2:攻击内网Redis
  • 原理:利用SSRF发送Redis命令,写入恶意数据;
  • Payload(用gopher://协议):
  • 执行后,服务器会生成shell.php,用蚁剑连接即可getshell。

三、避坑清单(进阶漏洞必看)

  1. JWT坑:改了Payload没改签名 → 服务器会验证签名,必须用对应算法重新生成。
  2. 反序列化坑:忽略魔术方法 → 重点看__destruct()/__wakeup()这些自动执行的方法。
  3. SSRF坑:只测http协议 → 别忘了file:///gopher:///ftp://这些协议。

四、福利+互动

如果今天这篇权限+新兴漏洞的内容对你有帮助,点个赞、在看,转发给一起打CTF的兄弟~

200节攻防教程,限免领!

想要的兄弟,关注我+在后台发“学习”,直接免费分享!

咱学漏洞挖掘和CTF,光看文章不够,这套教程里全是实战演示——从工具配置到漏洞利用,每一步都手把手教,跟着练就能上手!

(注:资源领取入口在公众号后台,关注后发“学习”自动弹链接)


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全学习室 点击关注👉《漏洞挖掘实战系列(第3期):Web专项(下) 权限类+新兴漏洞,拿下剩余40%分值》

评论:0   参与:  0