如何提高游戏服务器的安全性和防护机制?
​ 提高游戏服务器的安全性和防护机制对于保护玩家数据、游戏平衡性和用户体验至关重要。我们可以从服务器端安全、数据安全、DDoS防护、日志监控等方面来提高游戏服务器的安全性。服务器端的安全是比较重要的一点。建议用户及时更新游戏服务器和操作系统的补丁和安全更新，以修复已知的漏洞和安全问题。在安全配置方面，可以通过配置服务器端防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)等安全设备，限制对服务器的访问和保护敏感数据。同时，也可以使用SSL/TLS等加密协议保护游戏服务器和客户端之间的通信，防止数据被窃取和篡改。最后也可以限制对服务器的远程访问和管理权限，采用多因素身份验证等安全措施保护管理员账号。数据安全防护也比较重要，主要体现在数据加密、反作弊系统及数据验证三个方面。对存储在服务器上的敏感数据(如用户密码、个人信息)进行加密存储，保护数据不被恶意获取。部署反作弊系统和游戏防作弊引擎，检测和阻止作弊行为，维护游戏的公平性和平衡性。对客户端发送的数据进行严格验证和过滤，防止恶意数据包和数据篡改攻击。DDOS攻击防护也很重要，使用DDoS防护服务提供商提供的流量清洗服务，过滤和屏蔽DDoS攻击流量，保护服务器免受攻击。配置网络设备和防火墙，限制并发连接数、数据包频率等参数，减缓DDoS攻击对服务器的影响。使用CDN(内容分发网络)服务来分发游戏内容和数据，减轻游戏服务器的负载和DDoS攻击压力。日志记录和监控也是提高游戏服务器安全性的重要步骤，定期记录游戏服务器的运行日志和安全事件日志，以便分析和调查安全事件。配置实时监控系统监控服务器的性能和安全状态，及时发现异常行为和安全威胁。最后，需要进行定期漏洞扫描和渗透测试，定期对游戏服务器进行漏洞扫描和安全评估，发现并修复潜在的安全漏洞和弱点。进行定期的渗透测试，模拟黑客攻击和渗透行为，评估游戏服务器的安全性和弹性。渗透测试（德迅云安全）● 安全性漏洞挖掘找出应用中存在的安全漏洞。安全应用检测是对传统安全弱点的串联并形成路径，最终通过路径式的利用而达到模拟入侵的效果。发掘应用中影响业务正常运行、导致敏感信息泄露、造成现金和信誉损失的等的漏洞。● 漏洞修复方案渗透测试目的是防御，故发现漏洞后，修复是关键。安全专家针对漏洞产生的原因进行分析，提出修复建议，以防御恶意攻击者的攻击。● 回归测试漏洞修复后，对修复方案和结果进行有效性评估，分析修复方案的有损打击和误打击风险，验证漏洞修复结果。汇总漏洞修复方案评估结果，标注漏洞修复结果，更新并发送测试报告。综上所述，提高游戏服务器的安全性和防护机制需要综合考虑网络安全、数据安全、防作弊、DDoS攻击防护、日志和监控、社区管理等多个方面，采取多层次、多维度的安全措施和防护策略，确保游戏服务器的稳定运行和用户数据的安全保护。
十年、十五年都是转瞬之间，小学的一些场景还历历在目，转眼已经过去好多年了。从第一次接触电脑，学会鼠标，再到学会一些快捷键就超过了同龄人，文化课不行，总得有个强项，加上又有兴趣，一直认为互联网是未来，慢慢喜欢网络世界。操作系统、程序设计、网站开发、逆向工程、渗透测试、LLM 都接触了，最后还是靠中途放弃过的信息安全吃到一碗饭，回看过去学习这些花的时间，不过是现在别人不到一年就能接触到的。不得不感慨互联网的发展比我想象的还要快。庆幸中学时代只沉迷了网络游戏一年，三年初中，学一年玩一年混一年，高中艰难的熬过三年倒一，终于在大学如愿计算机专业，几年的大学时光学到了不少知识，刚好和同龄人反过来，大家都是中学刻苦等到大学放松一下，我选择中学学点就够了，没有特别用心，一直认为在大学才是要学习的时候，大学没有享受过什么快乐时光，现在上班感觉比大学还轻松。现在还记得第一次用凡科建站做出自己的网站的那种兴奋，虽然别人都不懂这种感受，自己有成就感就够了。C 语言学到指针因为没有实机，书上得来终觉浅，还是放弃了，偶然的机会看到乌云网站，让我又想当黑客，总觉得黑客神秘，后来自己发现别人网站漏洞成为一种日常后才知道，黑客不过是另一种技术的代名词，有点后悔没学程序设计，但觉得自己没有编程思维，也不是很后悔了。最难受的还得是没有坚持，当年炒个人 IP，玩微博，炒作流量的时候网民群体不够大，没有坚持下来，现在别人炒流量都火了，我现在又没什么兴趣了，可能是要脸了，以前为了流量和声名什么都敢干、敢说，被骂也是流量，现在比较在意人设了，蹭流量的事不太好意思干了。不知道未来会怎么样，现在还没有后悔当初的选择（相对来说后悔的不多），希望下次回看现在也不会太后悔现在选择的一切。
火线Zone 24年社区规则升级，共建技术安全生态
火线Zone是由火线安全平台打造的安全技术专家聚集和交流的社区，旨在推动数智时代的安全生态。通过火线Zone内容社区、火线技术沙龙等形式，为技术专家提供最前沿的技术分享和交流。目前，火线Zone社区成员已超过20000人的规模，其中不乏来自腾讯、华为、Gitlab、绿盟、去哪儿等知名企业的CTO、CISO、安全VP、安全技术专家等，通过社群和活动讨论交流安全攻防、黑客溯源、企业安全管理、安全运营、软件应用安全、云计算安全等方向技术话题。截止目前，火线Zone累计举办公开的技术交流活动27场(点击查看)、技术内容超过2000篇、10余个城市举办线下交流活动，全方位促进社区成员与企业之间的学习、交流与合作，为安全从业者提供全新思路，共同探讨行业未来发展之路。在这里，我们重视每一位成员的声音！火线Zone现在诚挚邀请您加入我们的数智安全社区，分享自己经验，和大咖共探数智安全未来。投稿须知欢迎您向火线Zone投稿，分享您的知识和经验。为了确保您的稿件能够顺利通过审核并发表，请您仔细阅读以下投稿指南：投稿文章内容方向包括并不仅限于以下方向：应用安全：当年最新的漏洞分析、安全预警及最新的测试技巧，并具备广泛影响性。 APP安全：针对APP、小程序的实战对抗、逆向分析、隐私合规等实战评估及测试方法论内容。 AIOT安全：针对可穿戴设备、安防设备、智能家居、汽车、工业设备等硬件设备的逆向分析、漏洞挖掘的实战评估和测试方法论内容 黑客事件：针对DDOS、勒索病毒、APT攻击等实战黑客攻击的完整事件溯源分析以及威胁分析的方法论。 红队攻防：针对中大型企业的真实攻防案例，具备防御机制绕过、内网横向、公有云横向等环节内容 安全运营：针对基础安全、开发安全、办公网安全、安全托管运营等安全运营方向的实战落地内容 其他：前沿领域安全研究，如大模型安全、AI应用安全等希望你的文章质量满足以下要求：提供深入的分析和独到见解，揭示未公开的新内容。 全面总结某一领域知识，可作为参考手册。 确保内容已授权且完全脱敏，遵守法律法规，不涉及非法安全测试。 文章篇幅需要符合深度分析的篇幅要求，具体篇幅长度视内容类型审核审核流程说明：投稿后，若15天内未收到发表通知，您可自行决定是否向其他平台投稿。我们反对一稿多投，一经发现，将不予审核通过。 火线Zone不提供稿件退回服务，请作者自行备份原稿。 对于非原创、抄袭、洗稿或未遵守转载规则的稿件，我们将进行删除处理，并取消任何奖励，同时发布违规公告。如何投稿在线投稿（注：为方便查看稿件审阅进度，请优先选择在线投稿方式）进入火线Zone[https://zone.huoxian.cn/]>点击左上方【发布主题】-> 在文章开头添加#应用安全#等文章类型标签。文章稿件支持Markdown格式，文章发布后，社区管理员将对其进行审核并进行精华优选，请耐心等待审核。没有火线Zone账户的用户，可前往火线Zone注册申请加入。 邮件投稿您也可以将文章或稿件发送至zone@huoxian.cn 稿件疑问欢迎添加火线安全小助手，投稿问题可随时咨询。投稿奖励基础奖励：如果您未有火线安全平台认证邀请码，文章通过后你将获取到邀请码一枚，可以来注册成为火线白帽子参与平台漏洞悬赏项目。 基础奖励：文章如审核通过即可获普通文章奖励（50查克拉积分），可用于兑换火线安全商城的礼品 优秀奖励：文章内容符合社区征稿意向，内容充实有新意可获优秀文章奖励（50查克拉积分 + 500RMB）。 精华奖励：最新的事件分析和安全预警，分享业内前沿最新技术、 0day 分析与利用、个人安全开发研究新成果 等方面的奇技淫巧、心经等可获加精文章奖励(（100查克拉 + 1000RMB）。 精华奖励：发布文章并获取精华标签后，可以直接加入渗透测试、APP安全、IOT安全、威胁情报、红蓝对抗等相关领域核心众测群，参与平台私密众测项目。 无奖励：内容深度较浅或网上有一定公开类似、单纯的工具介绍使用则不予奖励。内容奖励要求：基础奖励在内容符合要求的前提下，阅读量不做要求 优秀奖励在内容符合要求的前提下，阅读量当月突破500 精华奖励在内容符合要求的前提下，阅读量当月突破1000（内容质量较高不受此条件限制）奖励将在每月第一周公示并发放至火线安全平台账户，可在火线安全平台申请提现。PS：文章通过后请联系“火线小助手”加入火线Zone创作者群，与其他创作者一起思想碰撞！转载说明为了维护原创作者的权益，确保内容的合法传播，特制定以下转载规则。在您希望转载火线Zone社区的文章时，请务必遵守以下指南：版权声明：在您的平台上转载文章时，请明确标注【原文来自火线Zone、原文作者以及原文链接】。 转载声明：请在文章的显著位置注明以下声明：“本文经火线Zone授权发布，转载请联系火线Zone社区。” 内容修改：您可以对文章标题和内容进行适度修改，以适应您的平台风格，但请确保不改变文章的核心观点和主旨。 公众号转载：若您希望在微信公众号上转载，请先通过火线Zone社区的官方渠道申请授权。获得授权后，请在文章开头注明公众号信息，并在文末附上转载声明。 责任归属：转载文章产生的任何版权纠纷，由转载方自行承担。请尊重知识产权，未经授权的转载行为将被视为侵权。 独家代理：如果您是文章的原创作者，并且希望火线Zone作为您作品的独家代理，请在投稿时声明，并确保作品未在其他平台发布。 版权保证：投稿者需保证拥有所投稿件的完整著作权，并授权火线Zone及其关联平台进行发布和传播。我们期待与您共同维护一个尊重原创、鼓励分享的社区环境。感谢您的理解和支持！加入社群火线Zone已经开启外部粉丝社区群和城市技术社群，大家可在群内进行技术交流，但严禁发表与技术无关的和讨论政治相关内容添加“火线小助手”，并发送以下关键字加入社区并发送“社区群”可以加入火线Zone社区技术群发送“同城群”可以加入火线Zone城市分群向WooYun Zone、Drops致敬：）
声明本文章所分享内容仅用于网络安全技术讨论，切勿用于违法途径，所有渗透都需获取授权，违者后果自行承担，与本号及作者无关，请谨记守法.此文章不允许未经授权转发至除 火线Zone 社区 以外的其它平台！！！0x1 前言一、浅谈这篇文章主要是给师傅们分享下前段时间我们公司做的渗透测试，这次是跟市里面的网信办一起做的。因为是第一次所以我们这次做的渗透测试价格不高，主要是为了后面连续几年的一个渗透测试服务项目。这次的渗透测试范围特别广，包含整个市里面的好多政企单位和学校，资产多，测试起来也就比较简单。下面简单给师傅们分享下一些渗透测试上面的漏洞复盘，给新手师傅们，特别是没有参加过渗透测试的师傅们给点经验。这里需要注明下，该项目中的漏洞目前已经全部修复了，另外提醒师傅们不要做未授权测试。所以下面的渗透测试漏洞案例中又部分截屏不全，我会备注，因为目前已经修复了。二、资产整理首先我会把公司发的跟这次渗透测试项目相关的文件和资产，还有一些些漏洞报告的模版之类的汇总在一个文件夹中，这样方便后面我自己进行一个漏洞报告编写，以及资产的收集整理，比如像web资产和APP、小程序漏洞都是可以分开整理我们在渗透测试项目之前，甲方那边都会给我们一些资产相关的表格，下面就是常见的excel表格资产，还有就是有些甲方可能目标资产不是那么多，且大多都是web资产，直接也有发txt文件的txt的类型像下面的如下：然后像渗透测试，还有就是授权书也是得有的，这里我们都是合法授权渗透测试的项目，跟那边都有授权合作的项目书，这里也希望师傅们能够合法进行渗透测试0x2漏洞一 短信轰炸一、纵向轰炸这里首先先带师傅们看看渗透测试常测试的点，比如像登陆口，一般都有手机号码登录，手机号码验证登录，需要我们接受短信验证码，然后进行登录操作。像渗透测试还有重测和src漏洞挖掘中，短信轰炸都是收的，企业src价格低点，且一般香短信轰炸，一般像很多企业都要求在比如每分钟15/30条以上就收。这里测试的手是一个人力资源管理局的一个微信小程序，这里直接输入我自己的手机号，然后使用bp抓包，拦截短信验证码发送的数据包：直接把数据包放到重放模块，下面直接go一下（第一次go）数据包可以看到数据包回显是正常的，且手机也是正常的接受到了短信验证码了但是第二次再次点击发送数据包，缺显示报错，意思是我们已经发送了一次，在短时间类不能再发送了这里我们就可以想下了，我们能不能进行一个验证码发送限制次数的绕过，这个要是能绕过，无限次数的发送验证码是会消耗这个单位的一个资源的然后我们就可以进行一个测试了，看看什么字符可以进行绕过验证码发送呢？经过测试发现，可以通过@、空格、+86、逗号等进行绕过，从而达到短信轰炸的漏洞危害：我们如果要把危害加大，达到一分钟短信轰炸达到几十条，那么我们就要利用bp的爆破了，我们手动添加多个绕过字符，然后进行爆破，尽量多的提高每分钟爆破短信验证码的发送次数，以此来提高这个漏洞的危害：然后师傅们就可以看自己的手机上面的短信验证码了，就可以看到一次性并发绕过了很多条短信验证码：二、横向轰炸然后这个人力资源局的小程序还存在横向爆破绕过漏洞，可以进行双手机号验证码同时进行发送，从而造成逻辑漏洞，下面师傅们可以参考下我具体的绕过技巧，在碰到这样的场景时候，直接去实操即可类似下面的，常用的就是下面几个：phone=13888888888,phone=13999999999 phone=13888888888&phone=13999999999 phone=13888888888,13999999999 phone=13888888888&13999999999下面我就直接重新回到刚才上面的抓包步骤，抓取发送短信验证码的数据包，然后去尝试使用上面的绕过方法，看看能不能进行绕过，双手机号验证码同时发送，这里我使用我的卡一和卡二来演示：我这里使用的就是下面这个思路：phone=13888888888&13999999999然后就可以看到自己手机短信验证码，收到了来自卡一和卡二一样的验证码，且时间也是一样的：然后我们这里就可以使用卡二的手机收到的验证码，只需要知道卡一的手机号就行了，那么就可以直接登陆卡一的账号那么我们后面深入利用就可以去改人力资源局相关站点去搜索电话号码，然后使用这个漏洞就可以越权登陆其他账号，特别是像权限比较高的admin之类的管理员账号三、短信轰炸总结下面是我之前总结的一些验证码爆破的一个思维导图，师傅们可以保存下，对于挖掘企业src和众测的时候，厂家收不收呢，其实可以看看相关的文档，一般都是定义每分钟15/30条以上就收0x3 漏洞 二 SessionKey三要素泄露一、未授权登陆下面这个漏洞就是给师傅们分享下，在渗透测试中比较容易发现，并且好打的一个漏洞点——SessionKey三要素泄露，这个漏洞在蛮多微信小程序中都存在，且利用的手法不难，看完我这篇文章，师傅们也可以去测试下这个漏洞需要使用到一个SessionKey三要素解密的工具，有直接下载使用的，也有burpsuit插件，反正原理都是一样的，加解密→替换数据包→未授权登陆1、首先介绍下使用到的SessionKey解密工具https://github.com/mrknow001/wx_sessionkey_decrypt/releases/tag/v0.1这个工具直接双击运行即可，类似下面的：还有一个就是使用burpsuit的自带插件https://github.com/mrknow001/BurpAppletPentester/releases/tag/v1.1直接就可以导入到bp插件中2、这个微信小程序是目标资产中的一个大学的小程序设备，大学那种预约访谈进出校园、校园招聘那种功能点，像这样的基本上都有那种手机号一键登陆的功能点，像这样的微信小程序手机号一键登陆，很大概率存在SessionKey三要素泄露漏洞，这样的漏洞我之前挖EDUSRC挖了好多，且有一本证书站也就是这个漏洞，但是没有那么明显3、点击手机号快捷登陆操作，直接使用bp抓包，可以看到数据包中出现了SessionKey三要素泄露：4、直接一键发送到AppletPentester 插件中5、直接一键解密即可6、在信息收集的时候，在一个接口中，发现这个微信小程序里面有很多的一些学校老师信息，比如手机号之类的，然后这里我就带师傅们利用这个SessionKey三要素泄露漏洞，直接未授权登陆管理员老师账号直接替换成管理员老师176的手机号，然后点击加密再进行登陆口抓起数据包，替换数据包，然后点击重发数据包即可就可以直接未授权登陆这个账号了二、弱口令+信息泄露然后，我这里直接把这个小程序的host拿到web页面去访问，因为我一般打小程序都有这个习惯，看看web端有没有系统，特别是那种登陆系统，弱口令的概率很大打开web端访问，直接跳转这个页面，特别经典的若依系统页面这里直接使用刚才的手机号+弱口令密码直接成功登陆了后台，里面泄露了整个学校的学校个人敏感信息0x4 JWT爆破攻击一、可爆破/未验证签名导致越权首先通过微信搜索小程序，找到对应目标资产中的小程序系统直接点击这个微信小程序，这个时候我们需要一直打开我们的bp抓取小程序的数据包（这个是一个测试小程序的一个好习惯，因为有些接口，包括敏感信息泄露，看历史的数据包很关键），然后看看数据包有没有什么提示，因为这里我的bp安装了HAE，一般重点关注带颜色的数据包这里我们可以看到bp的历史数据包，显示了多个JSON Web Token也就是大家常说的JWT值，像一般碰到这样的JWT值，我一般都会选择JWT爆破尝试haiy选择有无设置None加密，去进行做一个渗透测试这里先直接复制到https://jwt.io/ 去看看这个JWT里面的内容，然后去猜测这个paylod校验哪部分下面我来给师傅们讲解下这个payload代表什么，一些新手师傅可能没有了解过，包括后面进行数据包替换，也是要修改其中的payload值|字段名|值|说明||-|-|-||role|appUser|用户角色，表明用户属于应用层普通用户（非管理员）||exp|1747377338|令牌过期时间（Unix 时间戳）。通过转换可得具体时间：2025-11-14 11:15:38 UTC||userId|xxxxxxxxxxxxxxxxxx|用于标识用户身份||user_key|xxxxx-xxxx-xxxx-xxxx |用户密钥或关联密钥（可能用于访问控制或加密）。||username|1xxxxxxxxx79|手机号，一键微信登陆的|这里先使用自己修改的JWT脚本爆破工具，看看能不能爆破出密钥爆破发现其密钥为123456然后直接来到刚才JWT的网站，去利用该key构造JWT，可以直接进入后台，下面的勾需要勾上因为这里我经过测试，这个网站的JWT是对user_key进行校验，所以只要在规定时间内user_key不过期，那么我们就可以拿另外一个手机号进行测试，替换bp抓取登陆口的数据包，然后放包就可以直接登陆别的账号首先这里需要修改下时间戳，拿这个网站：https://tool.lu/timestamp/ 一般都是改成第二天的时间，不可以早于测试时间还有就是把username替换下，这里我做测试，替换我的卡二，也就是最后面说93的尾号，因为经过测试，普通用户的role 都是appuser，这里猜测管理员可能是admin然后直接在小程序登陆口，使用bp抓包，然后劫持数据包，进行替换token值，因为这里经过测试是校验的JWT值通过不断替换JWT值，然后不断测试放包，放包，最后面可以直接不需要使用账号密码，直接登陆改账号二、设置加密为None导致不验证签名从⽽达到越权上面那种情况只需要爆破密钥，或者一些系统框架默认使用一些密钥，没有经过修改，可以直接利用默认key的那种，这里给师傅们讲解下那种设置加密了——None加密，导致直接爆破不了，需要使用JWT工具自动生成None加密的四种不同算法，也可以理解成一种绕过思路这里需要使用的工具是jwt_tool，下载地址如下：https://github.com/ticarpi/jwt_tool这里我这个小程序是不存在这个漏洞，但是这里给没有学过这个漏洞的师傅们演示下python jwt_tool.py JWT值会直接显示JWT解密以后的内容显示出来下面使用这个工具来测试 None 算法漏洞使用下面的这个语法跑这个脚本，⾃动⽣成 4 种 None 算法的变体（⼤⼩写敏感测试），其实也就是使用这四个token去挨个尝试替换，然后发包，看看返回包是否有成功回显数据python jwt_tool.py JWT值 -X a burpsuit返回包总结：401 Unauthorized → 签名校验失败，可尝试算法混淆或密钥爆破 200 OK → 攻击成功（罕⻅，说明存在⾼危漏洞） {"error":"alg not allowed"} → 服务端禁⽤ None，可尝试算法改⽤其他攻击向量（如 PS256 → HS256）0x5 OAuth2.0漏洞这次我在测试过程中碰到了OAuth2.0漏洞，是一个企业的微信公众号和一个带宣传性的一个登陆管理网站存在的这个漏洞，直接存在二维码不需要二次确认扫描，目前已经被修复了，但是那种漏洞的站点很明显，截屏那个网站的logo打码也看的出来所以这里直接给师傅们分享下我之前写的一篇关于OAuth2.0漏洞的文章，在先知社区原创的文章：https://xz.aliyun.com/news/16153简单案例分享简单来讲就是在登录过程中，比如可以使用第三方应用授权登录，且扫描二维码登录不需要确认校验，直接扫码即可登录，那么就可以使用二维码钓鱼之类的危害，就是文章开头的描述的百度案例一样。这里进入后台，然后有一个使用微信绑定，扫描二维码的功能点击立即绑定，然后就会弹出来一个二维码，那么我们就可以拿这个二维码进行一个钓鱼欺骗，让别人扫描二维码，从而绑定别人的微信号就跟我上面的一个，搞一个钓鱼的二维码模板，然后往一些网安群里面一发，说什么小白免费领取网安教程，只需要扫描此二维码即可（肯定有人扫的）0x6 jeecg泄露漏洞一、jeecg框架简介JeecgBoot是一款基于AIGC、BPM和低代码引擎的AI低代码平台，旨在帮助企业快速实现低代码开发和构建个性化AI应用！前后端分离架构Ant Design&Vue3，SpringBoot，SpringCloud Alibaba，Mybatis-plus，Shiro。强大的代码生成器让前后端代码一键生成，无需写任何代码！ 引领AI低代码开发模式: AI生成->OnlineCoding-> 代码生成-> 手工MERGE， 帮助Java项目解决80%的重复工作，让开发更多关注业务，快速提高效率 节省成本，同时又不失灵活性！低代码能力：Online表单、Online报表、大屏/仪表盘设计、表单设计、流程设计、报表设计;AI能力：AI应用平台+知识库问答、AI模型管理、AI流程编排、AI聊天、AI建表等,支持各种AI大模型ChatGPT、DeepSeek、Ollama等.jeecg官网如下：https://www.jeecg.com/二、jeecg综合漏洞利用工具这里先给新手师傅们分享个还不错的jeecg漏洞利用工具，首先这个工具书GUI图形化工具，还有就是这个工具更新了很大jeecg的历史nday漏洞在里面，使用操作简单工具下载链接：https://github.com/MInggongK/jeecg-这里给师傅们演示下，直接把可能存在jeecg漏洞的url导入目标中，然后选择ALL模块，进行检测即可三、从小程序到web端接口泄露好了，这里废话不多说了，这里回归这次渗透测试项目中来，再次给师傅们分享下这个漏洞，因为有些刚接触网安的师傅还没有接触这个漏洞，所以这里给大家分享下，这次jeecg漏洞通过以前保留的一些jeecg测试手册，一些jeecg的接口和bp数据包，像这样的jeecg框架系统，都是可以直接拿来测试1、首先，这个系统漏洞还是小程序，直接搜索对应资产小程序名称，这个系统是该市里面的一个大学的缴费系统2、打开微信小程序，首先我会直接去打开bp抓包，然后这里随便点击里面的功能点，然后进行看里面的数据包然后去翻里面的历史数据包，师傅们可以看到下面的table关键字这个tableNane关键字让我感到兴趣，是因为开发人员在一些做接口命名的时候，不会随意取名称，他这个接口后面的tableNane=xxxx，这里我直接去拿table表名出线多的去尝试猜测下这里我尝试了几个，但是都没有出信息，还尝试了information_schema.tables表名，都没有什么数据回显然后我这里还尝试直接把表名置空，但是依然没有什么敏感数据回显3、这里直接把小程序数据包中的host域名和端口，直接放到web端去访问，然后再尝试别的测试4、这里使用findsomething插件，去跑下web页面泄露的接口，这里把收集到的接口放到一个1.txt的文件中5、这里师傅们要是没有思路，最简单的就是就可以直接把findsomething插件泄露的接口利用bp的POST和GET方法都跑一遍即可。但是这里我需要找找我保存的接口里面有没有泄露跟tableName相关的6、通过findsomething插件，得到了好几个tableName的接口，然后直接使用bp去访问，发现一个接口直接泄露了四百多个数据表格名称然后每个表里面都泄露了好几百个个人敏感信息，比如身份证、手机号、姓名之类的四、SQL注入漏洞这个小程序的一个接口还存在SQL注入漏洞，通过测试，直接可以注入出数据库名称，直接又一个SQL注入到手了SQL注入payload：updatexml(1,concat(0x7e,user(),0x7e),1)五、提权操作师傅们，其实测试到这里，这个系统小程序和web端都摸熟悉了，就是jeecg的系统框架，里面的很多接口都是jeecg开发默认的接口名称，但是前面的路径发生了一点变化，没有原班直接拿jeecg的接口使用，但是经过FUZZ测试出来了很多接口，这里给师傅们分享下，我先注册一个账号，然后提权到admin管理员账号的过程。首先我使用register注册接口，注册一个账号下面就是提权的一个操作了，需要再次FUZZ接口，因为打jeecg漏洞多的师傅们，都知道，jeecg有很多的接口，像什么注册、查信息，查user_id，查所以账号的token值，还有用户敏感信息等，但是现在很多系统都不会直接拿jeecg都路径接口部署了，多多少少会进行魔改这里首先需要查询管理员admin的账户ID然后查询自己刚才创建用户的ID值然后使用打提权使用的jeecg漏洞poc，如下：//roleld填写需要提权的角色id userldList填写自己的idPOST xxxxx/jeecg-boot/sys/user/addSysUserRole（jeecg接口，需要自己去尝试，不一定是我这个） HTTP/1.1 Host: Cookie: cna=Ov9SH4RxGiACAf////9C18zb User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0 Accept: application/json, text/plain, */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MjUzNzMyNDMsInVzZXJuYW1lIjoiMTEwMTAyIn0.NXRckymfKdZvEFsDQZ9Jwvk_rU_gVny2Rx6A Tenant-Id: 0 Origin: Dnt: 1 Referer: Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin Priority: u=0 Te: trailers Connection: close Content-Type: application/json Content-Length: 96 { "roleId":"xxxxxxxxxxx", "userIdList":[ "xxxxxxxxxxxxxxxx" ] }这样就成功创建了这个系统的admin管理员的账户了，后面的思考就是直接使用创建的账户密码，去尝试爆破登陆其他系统六、其他jeecg小技巧下面再给大家总结下jeecg的其他打法小技巧一、常见的接口敏感信息泄露：/v2/api-docs /swagger-ui.html /env //获取参数信息 /actuator /mappings /metrics /beans /configprops /actuator/metrics /actuator/mappings /actuator/beans /actuator/configprops /actuator/httptrace二、常见jeecg框架接口关键字：像看到下面的几个关键字，首先需要想到使用jeecg去打，因为很多现在直接把jeecg关键字给魔改了jeecg/ api/sys/ sys/user三、jeecg的几个常用弱口令：可以使用下面的弱口令去尝试爆破下登陆接口admin:123456 jeecg:1234560x7 总结然后还有很多其他的漏洞，这次文章就不一一给师傅们分享了，留着下次有时候给师傅们分享，这次写这篇文章由于之前的渗透测试项目漏洞都修复 了，我才写的这篇文章，所以实属不易，为了给师傅们演示的那么细致，特意去网上现找了一些漏洞实操截图给师傅们，因为之前的漏洞报告没有写的那么详细，这里怕新手师傅看不懂。这次渗透测试总共提交了四五十个漏洞报告，其中包括很多框架系统的默认弱口令，这个确实让我蛮意外的，还有一些网上的nday，这里面有些老系统也存在，因为测试的资产比较多，所以相对来讲出洞率较高。最后，希望看完这篇文章的你，也可以挖到心仪的漏洞！
CyberStrikeAI：让安全测试像对话一样简单——智能渗透测试的技术实践
CyberStrikeAI：让安全测试像对话一样简单——智能渗透测试的技术实践先附上开源工具链接：https://github.com/Ed1s0nZ/CyberStrikeAI从工具堆砌到智能调度：渗透测试的演进之路作为安全工程师，我们都经历过这样的场景：面对一个新的目标系统，我们需要在数十个安全工具之间不断切换，记忆各种复杂的命令行参数，手动分析海量的扫描结果，然后在不同的工具输出中寻找关联性。这种工作方式不仅效率低下，更严重的是，我们往往在工具的使用上花费了太多精力，反而减少了对安全威胁本质的思考时间。技术人的解决方案：CyberStrikeAI的设计理念CyberStrikeAI不是要取代安全工程师，而是要成为工程师的智能助手。基于一个朴素但强大的想法：用技术手段解决技术问题，让AI处理重复性工作，让人专注于创造性分析。效果对话效果MCP调用调用链核心架构：Golang + MCP协议的工程化实现// 核心架构简示 Agent Loop (AI决策引擎) ↓ MCP Server (工具调度中心) ↓ Security Executor (命令执行层) ↓ 98+ Security Tools (工具生态)技术栈选择背后的思考：Golang：并发性能优异，跨平台编译方便，部署简单 MCP协议：标准化工具调用，确保扩展性和兼容性 SQLite：轻量级数据存储，适合单机部署场景实际工作流程对比传统方式：# 1. 端口扫描 nmap -sS -sV -O 192.168.1.0/24 # 2. Web服务识别 httpx -l targets.txt -title -status-code # 3. 漏洞扫描 nuclei -l targets.txt -t /nuclei-templates/ # 4. 手动分析结果，决定下一步...CyberStrikeAI方式："对192.168.1.0/24网段进行全面的安全评估，重点关注Web服务漏洞"系统自动完成：识别网络范围，调用nmap进行主机发现 对发现的Web服务调用httpx进行指纹识别 基于服务指纹选择相应的漏洞检测模板 自动分析结果，对可疑目标进行深度扫描 生成结构化报告，包括漏洞详情和修复建议面向安全工程师的技术特性工具集成：不重复造轮子我集成了98+个经过社区验证的安全工具，包括：信息收集：nmap, subfinder, amass, theharvester 漏洞扫描：nuclei, sqlmap, xsser, dalfox Web安全：dirb, gobuster, nikto, wafw00f 专项工具：wpscan, jexboss, ysoserial每个工具都通过YAML配置文件进行标准化封装：name: "nmap" command: "nmap" args: ["-sT", "-sV", "-sC"] description: "网络扫描工具，用于发现网络主机、开放端口和服务" parameters: - name: "target" type: "string" description: "目标IP地址或域名" required: true智能决策：AI作为调度器AI在系统中的角色不是替代工具，而是智能调度器和结果分析器：// AI决策流程 1. 理解用户自然语言请求 2. 分析目标特征和测试需求 3. 选择最适合的工具组合 4. 动态调整参数优化扫描效果 5. 解析工具输出，提取关键信息 6. 基于发现决定后续测试路径实时监控：掌握测试全过程系统提供完整的执行监控：# 查看工具执行状态 GET /api/monitor # 实时查看漏洞统计 { "total": 23, "severityCount": { "critical": 2, "high": 5, "medium": 10, "low": 6 } }实际应用场景分析场景一：红队渗透测试需求：快速对目标企业进行外围渗透测试传统方式：手动信息收集 → 工具链执行 → 结果整理 (耗时：4-6小时)CyberStrikeAI：单次对话描述测试目标 → 自动执行完整流程 (耗时：30-60分钟)场景二：漏洞复现与验证需求：批量验证SRC提交的漏洞传统方式：逐个手动测试，重复性工作量大CyberStrikeAI：批量导入目标 → 自动匹配检测方案 → 生成验证报告场景三：安全巡检需求：定期对资产进行安全巡检传统方式：编写脚本，定时执行，人工分析CyberStrikeAI：配置巡检策略 → 自动执行 → 差异对比 → 告警通知扩展性与二次开发自定义工具集成通过标准的YAML配置即可集成新工具：name: "custom-scanner" command: "python3" args: ["/tools/myscanner.py"] parameters: - name: "target" type: "string" required: trueAPI集成现有流程系统提供完整的REST API，可轻松集成到现有安全体系中：# 集成到自动化漏洞管理平台 def trigger_scan(target, scan_type): response = requests.post( 'http://cyberstrike-ai:8080/api/agent-loop', json={'message': f'{scan_type}扫描 {target}'} ) return process_results(response.json())技术人的实践建议部署方案开发测试：本地Docker部署，快速验证 团队使用：服务器部署，共享使用 集成环境：API方式集成到现有安全平台使用技巧渐进式测试：从基础扫描开始，逐步深入 结果验证：AI发现的关键漏洞建议人工复核 工具补充：根据实际需求扩展工具库结语：技术赋能，专注价值CyberStrikeAI的本质是通过技术手段提升安全工程师的工作效率，让我们从繁琐的工具操作中解放出来，更加专注于威胁分析、漏洞研究和防护策略等更有价值的工作。在网络安全人才紧缺的今天，提升个体工程师的效率就是提升整个行业的安全水位。我相信，好的工具应该像得力的助手一样，默默处理繁琐工作，让专家专注于专业判断。项目地址：https://github.com/Ed1s0nZ/CyberStrikeAI让技术回归本质，让安全测试变得更加高效——这是CyberStrikeAI的技术追求，也是我对安全社区的诚意贡献。
ClickHouse 数据库渗透测试指南目录1概述2信息收集3权限评估4文件读取利用5文件写入利用6命令执行利用7SSRF 利用8云环境利用9横向移动10防御绕过11常见限制与绕过12工具与脚本概述什么是 ClickHouseClickHouse 是由 Yandex 开发的开源列式数据库管理系统，专为在线分析处理（OLAP）场景设计。它能够高效处理大规模数据集，支持快速查询和实时数据分析。默认配置配置项默认值HTTP 端口8123TCP 端口9000MySQL 协议端口9004配置目录/etc/clickhouse-server/数据目录/var/lib/clickhouse/用户脚本目录/var/lib/clickhouse/user_scripts/用户文件目录/var/lib/clickhouse/user_files/渗透测试目标1 信息泄露：获取敏感数据、配置信息2 文件读取：读取系统敏感文件3 文件写入：写入 webshell、脚本、配置文件4 命令执行：实现 RCE（远程代码执行）5 横向移动：利用 SSRF 或数据库连接攻击内网信息收集1. 版本信息2. 用户与权限3. 数据库与表4. 服务器配置5. 集群信息6. 查询历史（敏感信息）7. 可用函数权限评估关键权限检查权限等级权限级别可执行操作只读用户SELECT 查询普通用户SELECT、INSERT、部分表函数DDL 权限CREATE、DROP、ALTERSOURCES 权限url()、mysql()、postgresql() 等管理员全部权限文件读取利用1. file() 函数读取2. 路径穿越（低版本可能有效）3. 软链接绕过（需要命令执行权限）如果有命令执行权限，可以创建软链接绕过目录限制：然后读取：文件写入利用1. INTO OUTFILE2. 写入脚本到 user_scripts 目录命令执行利用方法1：UDF 配置文件（需要配置文件写入权限）步骤1：创建 UDF 配置文件创建 /etc/clickhouse-server/cmd_function.xml：关键参数说明：● execute_direct=0：command 通过 sh -c 执行● execute_direct=1：command 在 user_scripts 目录查找脚本步骤2：确保 config.xml 包含步骤3：重启服务后执行方法2：带参数的交互式 ShellUDF 配置：执行命令：方法3：executable() 表函数方法4：Executable 表引擎方法5：Executable DictionarySSRF 利用1. url() 表函数2. 常见内网服务探测3. 批量内网扫描4. 其他 SSRF 函数云环境利用AWS阿里云腾讯云Google Cloud横向移动1. MySQL 连接2. PostgreSQL 连接3. remote() 连接其他 ClickHouse4. JDBC 连接（需要 JDBC Bridge）防御绕过1. 编码绕过2. 字符串拼接3. 使用变量常见限制与绕过托管环境限制限制状态绕过方法INTO OUTFILE 禁用常见无直接绕过，尝试其他写入方式Executable DDL 禁用常见尝试配置文件方式路径穿越阻止常见软链接（需命令执行）url() 内网限制少见DNS 重绑定配置文件只读常见无绕过工具与脚本1. 信息收集一键脚本2. Python SSRF 扫描脚本3. 批量端口扫描 SQL 模板.lakex-default-theme{--lakex-editor-background:#fff;--lakex-editor-background-primary:#fff;--lakex-editor-background-primary-hover:#EFF0F0;--lakex-editor-background-primary-hover-light:#E7E9E8;--lakex-editor-background-secondary:#FAFAFA;--lakex-editor-background-tertiary:#F4F5F5;--lakex-editor-background-foreground:#fff;--lakex-editor-border-light:rgba(0, 0, 0, 0.04);--lakex-editor-code-background:#0000000f;--lakex-editor-column-background-highlight:#D9EAFC7F;--lakex-editor-icon-secondary:#585A5A;--lakex-editor-selection:rgba(27, 162, 227, 0.2);--lakex-editor-table-bar-active:#2F8EF4CC;--lakex-editor-table-bar-danger:#E4495B5A;--lakex-editor-table-scrollbar-thumb:#00000033;--lakex-editor-text-color:#262626;--lakex-editor-text-body:#585A5A;--lakex-editor-text-caption:#8A8F8D;--lakex-editor-text-disable:#BEC0BF;--lakex-editor-text-link:#117CEE;--lakex-editor-text-link-hover:#5FA8F6;--lakex-editor-border-primary:#E7E9E8;--lakex-editor-card-background-hover:#5FA8F633;--lakex-editor-card-border-hover:#81BBF8;--lakex-editor-card-border-selected:#2F8EF4;--lakex-editor-color-black:#000;--lakex-editor-color-black-f05:rgba(0,0,0,0.05);--lakex-editor-color-black-f08:rgba(0,0,0,0.08);--lakex-editor-color-black-f12:rgba(0,0,0,0.12);--lakex-editor-color-black-f30:rgba(0,0,0,0.30);--lakex-editor-color-black-f65:rgba(0,0,0,0.65);--lakex-editor-color-blue1:#D9EAFC;--lakex-editor-color-blue2:#C0DDFC;--lakex-editor-color-blue3:#81BBF8;--lakex-editor-color-blue4:#5FA8F6;--lakex-editor-color-blue5:#2F8EF4;--lakex-editor-color-blue6:#117CEE;--lakex-editor-color-blue8:#074A92;--lakex-editor-color-blue9:#00346B;--lakex-editor-color-cyan1:#CEF5F7;--lakex-editor-color-cyan9:#004347;--lakex-editor-color-green5:#0BD07D;--lakex-editor-color-green6:#00B96B;--lakex-editor-color-green7:#009456;--lakex-editor-color-grey1:#FAFAFA;--lakex-editor-color-grey2:#F4F5F5;--lakex-editor-color-grey3:#EFF0F0;--lakex-editor-color-grey4:#E7E9E8;--lakex-editor-color-grey5:#D8DAD9;--lakex-editor-color-grey6:#BEC0BF;--lakex-editor-color-grey7:#8A8F8D;--lakex-editor-color-grey8:#585A5A;--lakex-editor-color-grey9:#262626;--lakex-editor-color-orange1:#FDE6D3;--lakex-editor-color-orange9:#663000;--lakex-editor-color-peaGreen1:#E8F7CF;--lakex-editor-color-peaGreen8:#406105;--lakex-editor-color-peaGreen9:#2A4200;--lakex-editor-color-red1:#FBE4E7;--lakex-editor-color-red4:#EA7583;--lakex-editor-color-red5:#E4495B;--lakex-editor-color-red6:#DF2A3F;--lakex-editor-color-red9:#70000D;--lakex-editor-color-theme:#00B96B;--lakex-editor-color-white:#fff;--lakex-editor-color-white-f60:rgba(255,255,255,0.6);--lakex-editor-color-white-f80:rgba(255,255,255,0.8);--lakex-editor-color-white-f90:rgba(255,255,255,0.9);--lakex-editor-color-yellow5:#F3BB2F;--lakex-alert-tips-bar-border:#BEC0BF;--lakex-alert-tips-bar-bg:#D8DAD9;--lakex-alert-tips-background:#EFF0F0;--lakex-alert-tips-border:#E7E9E8;--lakex-alert-info-bar-border:#C0DDFC;--lakex-alert-info-bar-bg:var(--lakex-alert-info-bar-border);--lakex-alert-info-background:rgba(192,221,252,0.5);--lakex-alert-info-border:#81BBF8;--lakex-alert-color1-bar-border:#B5EFF2;--lakex-alert-color1-bar-bg:var(--lakex-alert-color1-bar-border);--lakex-alert-color1-background:rgba(181,239,242,0.5);--lakex-alert-color1-border:#81DFE4;--lakex-alert-color2-bar-border:#C7F0DF;--lakex-alert-color2-bar-bg:var(--lakex-alert-color2-bar-border);--lakex-alert-color2-background:rgba(199,240,223,0.5);--lakex-alert-color2-border:#82EDC0;--lakex-alert-success-bar-border:#DBF1B7;--lakex-alert-success-bar-bg:var(--lakex-alert-success-bar-border);--lakex-alert-success-background:rgba(219,241,183,0.5);--lakex-alert-success-border:#C1E77E;--lakex-alert-warning-bar-border:#F6E1AC;--lakex-alert-warning-bar-bg:var(--lakex-alert-warning-bar-border);--lakex-alert-warning-background:rgba(246,225,172,0.5);--lakex-alert-warning-border:#F5D480;--lakex-alert-color3-bar-border:#F8D6B9;--lakex-alert-color3-bar-bg:var(--lakex-alert-color3-bar-border);--lakex-alert-color3-background:rgba(248,214,185,0.5);--lakex-alert-color3-border:#F8B881;--lakex-alert-danger-bar-border:#F8CED3;--lakex-alert-danger-bar-bg:var(--lakex-alert-danger-bar-border);--lakex-alert-danger-background:rgba(248,206,211,0.5);--lakex-alert-danger-border:#F1A2AB;--lakex-alert-color4-bar-border:#F7C4E2;--lakex-alert-color4-bar-bg:var(--lakex-alert-color4-bar-border);--lakex-alert-color4-background:rgba(247,196,226,0.5);--lakex-alert-color4-border:#F297CC;--lakex-alert-color5-bar-border:#D9C9F8;--lakex-alert-color5-bar-bg:var(--lakex-alert-color5-bar-border);--lakex-alert-color5-background:rgba(217,201,248,0.5);--lakex-alert-color5-border:#BA9BF2;--lakex-label-color0-bg:#F8CED3;--lakex-label-color0-border:#F1A2AB;--lakex-label-color0-text:#70000D;--lakex-label-color1-bg:#F6E1AC;--lakex-label-color1-border:#F5D480;--lakex-label-color1-text:#664900;--lakex-label-color2-bg:#DBF1B7;--lakex-label-color2-border:#C1E77E;--lakex-label-color2-text:#2A4200;--lakex-label-color3-bg:#EFF0F0;--lakex-label-color3-border:#EFF0F0;--lakex-label-color3-text:#262626;--lakex-label-color4-bg:#C0DDFC;--lakex-label-color4-border:#81BBF8;--lakex-label-color4-text:#00346B;--lakex-label-color5-bg:#C0CAFC;--lakex-label-color5-border:#96A7FD;--lakex-label-color5-text:#101E60;--lakex-calendar-blue-line:#117CEE;--lakex-calendar-blue-border:#81BBF8;--lakex-calendar-blue-background:#D9EAFC;--lakex-calendar-magenta-line:#D22D8D;--lakex-calendar-magenta-border:#F297CC;--lakex-calendar-magenta-background:#FBDFEF;--lakex-calendar-green-line:#74B602;--lakex-calendar-green-border:#C1E77E;--lakex-calendar-green-background:#E8F7CF;--lakex-calendar-red-line:#DF2A3F;--lakex-calendar-red-border:#F1A2AB;--lakex-calendar-red-background:#FBE4E7;--lakex-calendar-purple-line:#601BDE;--lakex-calendar-purple-border:#BA9BF2;--lakex-calendar-purple-background:#E6DCF9;--lakex-calendar-yellow-line:#ECAA04;--lakex-calendar-yellow-border:#F5D480;--lakex-calendar-yellow-background:#F9EFCD;}​
2025 全国卫生健康行业网络安全攻防大赛运维赛-测试赛WP
前言刚好有机会接触到卫生行业的运维赛，这里只有机会接触到测试赛，简单谢谢wp吧，测试赛的话主办方也是用心了的，难度的话相比较决赛的内容还是比较简单的。题目【题目背景】 模拟了一台公网上的服务器，内置 MYSQL\SSH\WEB 等应用服务，但是因为安全意识不到位导致该服务器存在若干安全风险，现在要求对该服务器实施断网并作全方面的安全检查，由于服务的迁移，在系统中保留了一些历史服务的流量包，需要对流量包进行分析和研判。【题目要求】1、通过修改服务器登录相关的配置文件实现：密码有效期90天、连续输错三次密码，账号锁定五分钟。2、通过修改mysql相关配置实现：开启数据库查询日志、限制任意地址登录，只允许127.0.0.1登录。3、从 /root/analyse.pcapng 文件中分析被读取走的flag值，写到 /root/flag.txt 中。4、对系统中存在的其他安全隐患进行排查和处置（恶意配置后门请直接删除）。5、还有其他的一些要求，但是没在题干中【注意事项】1、不涉及修改密码和修改私钥的动作，如果因为修改密码或私钥导致无法得分，选手自行负责。2、禁止使用防火墙等相关IP封锁技术对IP进行隔离，如果因为隔离IP导致无法得分，选手自行负责。【接入信息】1、SSH服务端口22，账号密码为root/root2、MYSQL服务账号密码为root/mysql步骤登录ssh，发现处于docker容器内，其实这里很多命令是无法使用的。先修改登录过期事件vim /etc/login.defPASS_MAX_DAYS 90连续输入错误三次，锁定5分钟vim /etc/pam.d/sshdauth required pam_tally.so deny=3 onerr=fail unlock_time=300 #最夯一行添加配置文件auth required pam_faillock.so preauth audit silent deny=3 unlock_time=300auth required pam_faillock.so authfail audit deny=3 unlock_time=300或者修改/etc/pam.d/common-auth隐藏后门查看发现异常用户hackeruserdel -f hacker这里需要强制删除，因为不添加参数的话会重新创建该用户。访问控制访问控制在/etc/hosts.allow中发现存在异常的访问控制，删除该文件即可安全配置mysql暴力破解用户名密码root/mysqlmysql -uroot -pmysqlSET GLOBAL general_log = 'ON'; //开启数据库查询日志或者图形化界面执行修改也可以访问控制2限制登录地址为127.0.0.1修改配置文件vim /etc/mysql/mysql.conf.d/mysql.cnfbind-address = 127.0.0.1定时任务这个定时任务题目有问题，没有定时任务但是需要删除root的定时任务rm /var/spool/cron/crontabs/root其实这里的定时任务文件是没内容的，但是check的机制就是检测文件是否存在特殊权限find / -type f -perm -4000 -exec ls -l {} \;find /：从根目录开始查找（你也可以指定特定的目录，例如 /usr 或 /bin）。-type f：只查找文件，不查找目录。-perm -4000：查找设置了 SUID 权限的文件（SUID 权限对应的数字是 4000）。-ls：显示详细信息，包括文件的权限、所有者、大小、修改时间等。所有具有suid权限的文件都在/bin下，一般whoami权限是没有suid权限的，所以这个文件被动过，所以这里干掉这个文件就可以了。流量分析需要开启SFTP服务，注释掉配置文件#RSAAuthentication yes 这个配置文件是老版本openssh另外添加ftp配置文件Subsystem sftp internal-sftp检索关键字，追踪tcp流分析找到一串base64编码内容导出分组字节流解码得到flagecho "flag{d9d2c4b2-7cf2-472f-a8e8-2aad1e466099}" > /root/flag.txtweb漏洞目录扫描发现info目录，发现属于xxe的报错，构造xxe语句system是可执行文件，url路径需要传参，fuzz无果手工测试回显显示需要参数，简单测试构造发现存在任意文件读取修复直接就是定位到位置点儿进行修复即可。其实这里最简单的就是直接代码审计，审计即可，因为前期导完数据包的时候环境有问题，修改配置文件无法SFTP连接获取源码，所以就黑盒进行FUZZ了。
声明本文章所分享内容仅用于网络安全技术讨论，切勿用于违法途径，所有渗透都需获取授权，违者后果自行承担，与本号及作者无关，请谨记守法.此文章不允许未经授权转发至除 火线Zone 社区 以外的其它平台！！！0x1 RTSP奇特之旅前言浅谈哈咯，师傅们，好久不见！已经很久没有写文章了，这次简单写一个蛮有意思的案例，也是在最近攻防演练中遇到的。其实在最初开始晚没有特别的去想着去利用这个漏洞——RTSP协议漏洞，因为之前有看过文章简单了解过，主要就是打弱口令和未授权访问漏洞，然后一般就是比较敷衍的使用爆破工具爆破下，有无弱口令，或者使用字典目录遍历下。像下面的我就喜欢使用无影tools的爆破模块把目标导入即可，然后选择RTSP的554端口进行爆破，字典可以选择内置的字典其次一般像RTSP的弱口令和未授权在我以前感觉用处不是很大，且平常挖src漏洞之类的，也不怎么碰的到。但是这次攻防演练嘛，有些东西在平常可能没多大的利用的价值，但是打攻防说不定就是可以打分打权限的那种，下面就来介绍下这个RTSP漏洞。其中主要还是在网上看了很多的打法和文章资料，在网上尝试了蛮多的工具，发现一款GitHub上面的新利用RTSP漏洞一键利用的工具，然后结合这次资产刚好有，就利用起来了。然后这次我开始也是简单的爆破下，因为这次是攻防演练嘛，然后是某单位的资产，且有好多下级部门的厂商视频监控管理系统，所以对应的监控大都是RTSP协议的，集群远程管理。且这次的攻防演练目标资产比较多，范围比较广，只要是属于该市的资产都可以，还有一些企业的都可以，像很多的监控系统都带有远程管理操作，所以有部分都是RTSP协议的，且这个漏洞在平常接触比较少，就比如我平常挖src对这个漏洞基本上没有太多的操作。下面是我简单收集的一些资产表格如下：0x2 众测捡钱小技巧（拓展）一、浅谈上面既然介绍到了我们平常挖企业src中一些不怎么会收的漏洞，比如我这里要讲的RTSP漏洞，这个漏洞的话主要是在攻防演练中，我们可以对目标资料中的一些监控管理系统进行拿监控管理权限的分，因为在攻防演练中主要是通过拿数据分和权限分，特别是你打进内网，像这样的监控系统肯定很多，这样就可以帮助你拿比较多的权限分。这里给师傅们看下某些评分标准：下面我来给师傅们讲下众测中，我一般第一先测试的漏洞——SPF邮件伪造漏洞。具体的测试方法，我下面有很详细的测试手法，其实网上也有很多的批量跑SPF邮件伪造漏洞的脚本，其中我自己也是利用这些脚本去测试的，因为在众测中，得拼手速了，具体的脚本我这里就不放上去了，因为脚本内容因人而异，最好自己修改下。其实在攻防演练中也是可以利用SPF邮件伪造漏洞的，可以使用SPF邮件伪造去钓鱼，收集目标资产的邮箱，然后去钓鱼攻击，也是一种方法，在护网期间，钓鱼攻击是特别常态且使用特别多的一种方式。二、SPF邮件伪造漏洞针对师傅们对于SPF邮件伪造漏洞的拓展，师傅们可以看我之前写的那篇原创文章：https://xz.aliyun.com/news/14752这里就引用这篇文章的SPF邮件伪造漏洞，写的蛮详细的，师傅们可以参考学习下，然后后面在众测项目上去赚点漏洞赏金。1、spf邮件伪造漏洞简介：SPF 记录是一种域名服务（DNS）记录，用于标识哪些邮件服务器可以代表您的域名发送电子邮件。SPF 记录的目的是为了防止垃圾邮件发送者在您的域名上，使用伪造的发件人地址发送邮件。原理:未设置spf导致的邮件任意伪造，可以用来钓鱼社工，本身就是高危若您未对您的域名添加 SPF 解析记录，则黑客可以仿冒以该域名为后缀的邮箱，来发送垃圾邮件。2、漏洞危害：可以用未进行安全配置的网站域名，发送邮件。比如：www.baidu.com有这个漏洞，你就可以伪造HR@baidu.com给受害人发邮件进行钓鱼。src收的少，但是重测和渗透测试项目可以交。注意：如果没有v=spf1或者没spf就存在邮件伪造漏洞。 -all 不能伪造，all可以伪造3、测试漏洞我们直接拿baidu.com的域名来给大家演示下，用kali的nslookup 工具测试下可以看到下面的回显，存在spf记录，是-all参数，说明不能任意伪造。┌──(root-kali)-[~] └─# nslookup -type=txt baidu.com还可以使用dig -t命令来测试┌──(root-kali)-[~] └─# dig -t txt baidu.com4、SPF解析不当导致绕过把下面的spf配置记录复制下来测试地址如下：https://www.kitterman.com/spf/validate.html这里显示spf解析配置正确下面拿一个存在spf解析错误的案例来演示下：SPF记录报错，在这条SPF记录中，存在多个IP段，但只有开头的一段ip用了ipv4，这就导致了语法错误。因为这个错误，将导致整个SPF记录完全失效，因为SPF无效，邮件接收方的SPF检测功能也就失效了。5、swaks 测试使用kali自带工具swaks 测试swaks --body "helloword" --header "Subject:testT" -t 自己的邮箱 -f test@baidu.com body为内容 Subject为标题 -t为目标邮箱 -f为伪造的发送方，这里我们伪造加了cn字眼，这里伪造改不明显字眼等都会进垃圾箱我们先申请一个临时邮箱：http://24mail.chacuo.net/然后我们使用kali自带的swaks 工具进行测试，结果如下┌──(root-kali)-[~] └─# swaks --body "【2024年8月1日】 检测到您教务系统长时间未修改密码，请及时修改密码确保账户安全 手机管家@163.com 【该邮件自动监测请勿回复】" --header "Subject:vivo" -t vioxzs43016@chacuo.net -f customers@alexz.com看到这里，我们要是对标题和内容进行改进，那么我们是不是就可以尝试钓一波鱼了呢？0x3 RTSP协议漏洞介绍一、协议分析RTSP（实时流协议）是一个网络控制协议，设计用于娱乐和通信系统中控制流媒体服务器。该协议用于建立和控制媒体会话中的时间同步流。RTSP 提供了一个可扩展框架，使得能够实现对实时数据，如音频和视频的控制。与HTTP不同，RTSP提供了对流数据的实时控制功能，比如可以随意快进或倒退。 RTSP 主要用于以下场景：1、视频监控系统，会议视频2、IP摄像头监控(企业、大街、工厂的监控头)3、媒体播放器与媒体服务器之间的交互4、智能家居设备，比如：门铃、智能汽车行车仪等 RTSP 协议通常运行在 TCP 或 UDP 协议之上，使用的端口是554，不同厂商可能是8554端口。它允许客户端发送播放、暂停和停止等控制指令，以及进行实时播放位置的调整。二、RTSP认证方式1、Basic认证（基本认证）基本认证是HTTP 1.0 提出的认证方案，其消息传输不经过加密转换因此存在严重的安全隐患。服务端在未认证时返回401Unauthorized，并带上WWW-Authenticate: Basic realm="RTSP Server"头，要求客户端提供凭据。1） 客户端发送 DESCRIBE 请求DESCRIBE rtsp://192.168.1.55:554/11 RTSP/1.0\\r\\n CSeq: 1\\r\\n Accept: application/sdp\\r\\n User-agent: Realplayer\\r\\n\\r\\n2）服务端发出 WWW-Authenticate 认证响应服务端返回401错误码，发出 WWW-Authenticate 认证响应告诉客户端需要进行认证。RTSP/1.0 401 Unauthorized\r\n CSeq: 1\r\n WWW-Authenticate: Basic realm="RTSPD"\r\n\r\n3）客户端再次发出 DESCRIBE 请求此时客户端程序弹出密码认证窗口 ，提示输入用户名，密码等认证信息，并根据服务端返回的响应消息中进处理，如果发现是 Basic认证则携带认证信息发送如下报文：DESCRIBE rtsp://192.168.1.55:554/live/1/video.sdp?token=A00453FR805a54C8 RTSP/1.0\r\n CSeq: 2\r\n Accept: application/sdp\r\n User-Agent: RealMedia Player HelixDNAClient/12.0.1.647 (win32)\r\n Authorization: Basic YWRtaW46YWRtaW4=\r\n\r\其中 “YWRtaW46YWRtaW4=” 是通过 username:password 进行 base64 编码所得。因为其具有唯一性等价于账号和密码，明文发送泄漏后存在安全风险。2、Digest认证（摘要认证）摘要认证是http 1.1提出的基本认证的替代方案，其消息经过MD5哈希转换因此具有更高的安全性。避免了直接明文传输密码的风险。但是 MD5 哈希较弱，仍然可以通过 彩虹表等方式破解。三、RTSP认证流量监测首先，这里你去了解RTSP认证流量，得先安装两款工具，工具是使用Wireshark和VLC视频播放工具。1、Wireshark下载地址https://www.wireshark.org/download.html2、VLC视频播放工具https://www.videolan.org/vlc/index.zh_CN.html因为我的电脑上macbook，所以打开VLC和使用如下操作（windows的操作也是差不多的）1、默认下载下来是英文的，直接可以设置中文的选择Language，然后选择简体中文，重启软件就好了2、打开 VLC 主界面，选择File > OpenNetwork（中文版为媒体 > 打开网络串流）3、在弹出的对话框输入直播流播放地址，然后点击打开即可查看监控视频画面了3、认证流量监测使用Wireshark和VLC视频播放工具获取rtsp协议认证方式，可以发送options和describe请求进行，如下图所示，获取到认证方式为401 Basic和Digest, 如果返回的状态码为200，说明存在未授权访问。0x4 RTSP漏洞攻击一、主流摄像头安全问题汇总1、警卫视摄像头型号：qs-qy 连接密码：密码默认为空 rtsp连接地址: rtsp://admin@IP:554/live/ch00_12、乐橙摄像头型号:LC-S2D rtsp密码：摄像头底部安全码 rtsp连接地址: rtsp://admin:L2C3F848@IP:554/cam/realmonitor?channel=1&subtype=03、tp-link摄像头设备型号:TL-IPC44AW rtsp密码：默认为空 rtsp连接地址: rtsp://admin@IP:554/stream1 4、萤石摄像头设备型号：CS-C6 rtsp密码：摄像头底部安全码 rtsp连接地址: rtsp://admin:RMETAA@IP:554/h264/ch1/main/av_stream5、乔安智联摄像头设备型号：JA-C10E rtsp密码：空密码 rtsp连接地址: rtsp://admin@IP:554/live/ch00_16、帝防摄像头设备型号：JA-C10E rtsp连接地址: rtsp://admin:admin11@IP:554/onvif1 7、Cubetoou摄像头设备型号：Q88 rtsp连接地址: rtsp://admin:123a123a@IP:554/onvif18、 icam365摄像头设备型号：GI-2304 rtsp连接地址: rtsp://admin:admin@IP/live.sdp 思路： ①指纹识别 发送rtsp请求，根据server头找到设备型号为TAS-Tech ②查找设备rtsp地址和密码 在ispyconnect (https://www.ispyconnect.com/camera/tas-tech),上找到rtsp地址和密码。 连接地址为：rtsp://admin:admin@IP/live.sdp二、RTSP爆破RTSP协议认证主要有Basic和Digest两种 它的RTSP URL通常是这样的 rtsp://admin:admin@192.168.1.56:554/live/sys01对于爆破用户名、密码和流路径的方法网上也是有很多的python脚本，都可以尝试使用，但是我自己使用了好几个，都感觉差点意思，首先对于打攻防演练中，批量去测试，且需要对测试出来的IP地址进行归类，然后显示和判断出有价值的信息的，且导出页面可视化效果不好，其次好多针对呀RTSP这个漏洞目前汇总的字典不够全，爆破起来不是那么那啥，得自己汇总针对性的字典。三、RTSP协议爆破工具我最开始就是使用无影tools和hydra九头蛇进行尝试爆破。特别是对于新手师傅们，可能更喜欢在网上找些github项目的图形化GUI的项目试试，我这里也是找到了一个工具，蛮不错的，图形化操作，内置字典都还不错GitHub地址：https://github.com/returnwrong/RTSP-Cracker-Pro师傅们要是觉得这个工具还不错，看完我的文章以后可以挖到这类漏洞了，可以给作者点个star关注这里直接下载这个zip文件即可，里面主要是一个python的可执行文件，是个GUI图形化的工具但是这里我的MacBook电脑自带的Python 3.9.6运行这个下载的python执行文件，里面的功能显示不全（有点疑惑） ~/Downloads/rtsp_crackV1.0.3 > python --version Python 3.9.6后面在Cursor上面进行代码修改，提示应该是在 Mac 上运行时出现图形化界面显示异常，可能是由于不同操作系统的字体、颜色渲染或布局方式有所差异导致的，这里直接改改代码即可工具打开以后是这样的，图形化界面，看着就很简单四、攻防演练RTSP实战这里最开始是通过查看评分手册来看到一些摄像头权限分也是可以拿的，且当时在资产收集过程中，看到了蛮多的视频监控管理系统等等，于是我上网找了蛮多的资料和工具进行测试漏洞。这里直接把IP导入到ip.txt文件中这里的字典可以使用工具自带的，但是我这里建议师傅们要是能过自己再去多收集一些，然后与这个工具的字典汇总，再去重，爆破效果可能要好点然后点击破解，就可以看到具体的一个破解速度和进程了，图形化的好处就是可以很直观的看，爆破的日志也很清晰，特别是对于攻防中目标资产特别多，我们可以调整下线程大小还有就是Digest认证和Basic认证两种都跑一下，这样爆破成功的概率更大爆破成功后，可以直接点击查看结果的功能，里面的爆破成功目标资产很详细的列举出来了，但是我感觉爆破最主要还是得靠字典，这个工具自带的字典还行，但是也不是特别全，需要自己去网上收集然后把显示爆破成功的RTSP URLs复制过来到VLC视频工具，然后连接就可以直接看到监控内容了五、手把手带你挖RTSP漏洞像师傅们看完我上面的文章了是吧，手肯定也痒痒了，也想去测试下这个漏洞，获取下监控视频的权限。这里提醒下，别使用国内的，可以去试试国外的。具体的空间搜索引擎语法如下：FOFA语法port="554" && protocol="rtsp" && category="视频监控"FOFA语句二：(port="554") && (is_honeypot=false && is_fraud=false) && protocol="rtsp"可以看到数量比较多，测试的时候可以把线程调大点，爆破的时间就稍微短点shodan搜索网络摄像头语法：shodan搜索起来更加好点，特别是这里建议大家试试国外的站点，建议可以使用shodan去测试port:554 has_screenshot:true然后打开VLC media player，配置流地址，然后就可以直接有监控权限了，可以直接看画面了0x5 总结到这里，这篇文章就已经结束了，该聊的和该注意的地方都给师傅们前面已经提过了，结尾呢主要是还是得提醒下师傅们不要未授权测试，且干渗透测试得低调点。然后上面已经非常详细点给师傅们分享了RTSP漏洞的案例，看完这篇文章，我想小白新手师傅都可以去挖这个漏洞了，使用的工具和手法都给师傅们分享了，且都写的非常的详细。因为我电脑是MacBook的原因，所以一些软件使用上面还是有差异，师傅们可以自行上网搜索，Google浏览器还是很好用的，多搜搜，最好希望师傅们测试这个漏洞的时候测下国外的，不要未授权测试国内的！！！文章中涉及的敏感信息均已做打码处理，文章仅做经验分享用途，切勿当真，未授权的攻击属于非法行为！文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失，均由使用者本人负责，作者不为此承担任何责任，一旦造成后果请自行承担。