Claude时代的Permeate安全靶场重生记

admin 2026-03-12 22:44:40 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 作者介绍了Permeate安全靶场,该项目由2013年的PHP练手代码于2026年借助ClaudeAI重构而成。靶场是完整的论坛系统,将SQL注入、XSS等8类漏洞融入真实业务场景,区别于传统单一漏洞演示靶场。支持SQLite开箱即用,提供详细漏洞教程和快速部署方案,帮助初学者在接近实战的环境中学习Web安全。 综合评分: 80 文章分类: 渗透测试,WEB安全,安全工具,实战经验


cover_image

Claude时代的Permeate安全靶场重生记

原创

汤青松 汤青松

青松阁主

2026年3月12日 12:33 北京

一、背景

偶然看到GitHub上我2013年写下的那串PHP代码,一下子就把思绪拉回了十年前。那时候互联网还在Web开发的启蒙阶段,PHP是新手入门的热门选择,论坛、博客这类小项目,几乎是每个初学编程的人都会碰的练手活儿。

那会儿刚啃完PHP基本语法,心里憋着股劲儿想做个完整的项目——在当时的我看来,能做出注册、发帖这些基础功能,就算真的摸到了Web开发的门槛。现在回头看,那时候的自己既没有系统的安全意识,也不懂什么规范的开发流程,完全是跟着网上的基础教程照猫画虎:教程里用SQL语句拼接,我就原封不动抄过来;教程没提用户输入过滤,我便压根没往这方面想;密码用MD5加密,还沾沾自喜觉得做了基础的安全防护。

二、工作变动

2014年,我慢慢踏入了网络安全行业,从敲业务代码的开发者,变成了挖漏洞、做防御的安全从业者。有天整理旧文件,翻到了2013年写的Permeate源码,点开一看,才惊觉当年的代码里藏着密密麻麻的安全漏洞。

就像这段核心代码,现在一眼就能看出问题:

// 当年写的代码,藏着明显的SQL注入漏洞
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";

简单的SQL语句拼接,只要输入点恶意代码,就能轻松绕过登录、偷取数据库数据。还有文件上传功能,更是简陋得离谱:

// 文件上传完全没做安全校验
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);

既不校验文件类型,也不给文件名重命名,攻击者随便传个恶意脚本,就能控制整个服务器。看着这些代码,我突然觉得,这些都是Web开发里最常见的漏洞类型,不如把它改成渗透测试靶场,说不定能帮更多初学者直观地认识漏洞、理解漏洞,少走些我当年的弯路。

2015年网络安全开始火起来,这个靶场也跟着断断续续更新到2018年,后来工作忙起来,就暂时搁置了。

三、代码重生

2026年,大语言模型(LLM)技术已经非常火爆了,代码开发效率提了一大截。作为安全从业者,也没有借口太忙没时间不去更新代码,于是借助claude帮我重构旧代码,就把Permeate的源码给到Claude,提了些重构需求,结果远超预期——靠着AI,十年前的旧代码居然快速完成了迭代升级。

这次重构不只是换个好看的界面,而是从里到外的全面升级,核心就是想让这个靶场更实用、更好用,贴合真实的安全学习场景:

  • 数据库迁移:把MySQL换成了SQLite,用户不用额外装数据库,下载项目就能用,入门门槛低了不少;
  • 完善漏洞文档:每个漏洞都写了详细的利用说明,从漏洞原理、攻击步骤到防御方法,新手跟着一步步做就能懂;
  • 补充示例数据:内置了19篇教程帖子,覆盖8大漏洞类型,每篇都结合具体业务场景,讲清楚漏洞怎么利用;
  • 界面现代化:做了响应式设计,电脑、手机都能适配,再也不是当年那个简陋的样子,学习体验好了很多。

没想到AI能帮我把十年前的练手项目盘活,从满是漏洞的“反面教材”,变成了能帮别人学习的安全靶场,还挺有成就感的。

四、靶场差异

市面上其实有不少优秀的安全靶场,比如DVWA、Pikachu、Sqli-labs这些,都是新手入门的好选择。但Permeate和它们不一样的地方在于:它不是单一漏洞的演示页面,而是一个有完整业务逻辑的论坛系统。

| 特性 | 传统靶场 | Permeate | | — | — | — | | 架构 | 单一漏洞演示页面 | 完整的论坛系统 | | 用户流程 | 直接访问漏洞点 | 需要注册、登录、发帖,模拟真实用户操作 | | 业务逻辑 | 无实际业务,仅演示漏洞 | 包含用户关注、权限管理、内容审核等完整业务 | | 漏洞类型 | 独立展示,互不关联 | 融入真实业务场景,需结合业务逻辑发现 |

在Permeate里,漏洞不会明晃晃标出来,和真实的渗透测试场景一样,得自己慢慢找:

  • SQL注入没单独做演示页,藏在搜索功能里,输入些特殊字符才能发现;
  • XSS漏洞在帖子回复功能里,输入恶意脚本才会触发;
  • 越权访问漏洞藏在个人中心的资料修改功能里,参数没设好,就能看到别人的信息;
  • SSRF漏洞在远程头像设置功能里,这个功能可能被用来访问内网资源;
  • 命令执行漏洞则在后台数据库备份功能里,命令拼接不当,攻击者就能控制服务器。

这才是真实的网络安全场景啊——漏洞不会自己跳出来说“我在这”,得吃透业务逻辑,挨个排查功能,才能找到潜在的风险。

五、功能展示

为了让大家能快速了解Permeate,我简单说说它的核心功能界面:

5.1首页展示

首页分了“常规漏洞”和“逻辑漏洞”两大区,包含8大漏洞模块,每个模块都有图标和统计信息,能快速知道靶场的结构,找到自己想学习的内容。

5.2帖子详情

每个板块都有详细的教程帖子,把漏洞原理、攻击步骤、防御方法讲得明明白白,新手跟着学就能慢慢掌握漏洞的利用和防御技巧。

5.3个人中心

个人中心里有头像上传、远程头像设置、密码找回、资料修改这些功能,每个功能里都藏着安全漏洞,得自己去挖、去验证。

5.4后台管理

后台管理系统有用户管理、内容管理、系统设置这些核心功能,其中数据库备份功能藏着命令执行漏洞,是进阶学习的重点,能帮着理解服务器层面的安全风险。

六、漏洞清单

目前Permeate里包含8大类常见的Web安全漏洞,难度分了一星到三星,适配不同水平的学习者,每个漏洞都配了详细教程,讲清楚怎么攻击、怎么防御:

| 漏洞类型 | 漏洞位置 | 难度 | | — | — | — | | SQL注入 | 搜索功能、帖子列表 | ⭐⭐ | | XSS跨站 | 帖子内容、回复内容 | ⭐⭐ | | 命令执行 | 后台备份功能 | ⭐⭐⭐ | | 文件上传 | 头像上传 | ⭐⭐ | | SSRF | 远程头像获取 | ⭐⭐⭐ | | 越权访问 | 用户资料修改 | ⭐⭐ | | 密码重置 | 找回密码功能 | ⭐⭐⭐ | | 验证码绕过 | 登录验证码 | ⭐ |

七、快速上手

Permeate的安装和使用都很简单,不用配复杂的环境,新手也能快速上手,步骤就这几步:

# 克隆项目
git clone https://github.com/78778443/permeate.git

# 初始化数据库
php install/init_sqlite.php

# 启动服务
php -S localhost:8080

访问 http://localhost:8080 就能开始学渗透测试了。为了方便大家快速体验,我准备了两个默认账号:

  • 管理员账号:admin / 123456(能进后台,体验高阶漏洞)
  • 测试用户账号:test / 123456(能体验前台业务,挖常规漏洞)

八、写在最后

从2013年到2026年,Permeate已经陪我走过13年了。这13年,也是我从一个PHP初学者,慢慢成长为安全从业者的历程。这个项目曾经是满是漏洞的练手代码,现在却成了能帮更多人入门网络安全的靶场,也算是见证了我的技术成长。

AI技术的发展,给这个十年前的旧项目带来了新的生机,让它从“反面教材”变成了实用的学习工具。

网络安全的学习,从来都需要不断实践、不断积累,保持对技术的敬畏之心很重要。如果你们也想学习Web安全,想了解真实业务场景里的漏洞是什么样的,不妨试试Permeate,希望能帮你们少走些弯路。

代码总会有漏洞,但技术的成长是没有尽头的。安全研究本身,就是一个不断探索、不断推进的过程。


作者:汤青松 微信:songboy8888 日期:2026年03月12日


免责声明:

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

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

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

本文转载自:青松阁主 汤青松 汤青松《Claude时代的Permeate安全靶场重生记》

评论:0   参与:  0