数证杯初赛服务器取证
1. 对服务器检材进行分析,站点服务器可能是从哪个云服务平台上调证过来的?(填写汉字,答案格式:亿速云)
阿里云 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2089517016.png)
火眼仿真,在加载的时候,系统盘和数据盘前后挂载
2. 对服务器检材进行分析,站点服务器中数据库的密码是?(按实际值填写)
Sxy000**有一个jar包
步骤
ss -lntp
查看正在运行的端口程序
nginx -T
查看nginx是哪种配置
利用nginx+php+mysql的组合搭配。第二种是jar+nginx+mysql。第二种的nginx只做反向代理的作用。
反向代理的标识为peoxy_pass http:
find / -name *.jar(排除openjdk-x.x.xxx) 或者 history | grep .jar
查看jar包位置
下载到本机后,利用命令jar -xvf example.jar解压
看application.yaml中active的值,确定正在使用的包是哪一个
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2206597570.png)
然后到对应的包查看配置
数据库密码在下面的结构里
spring:
datasource:
password: 3. 对服务器检材进行分析,站点服务器用于提供服务发现的工具名是?(答案格式:zookeeper)
Consul根据服务器检材中的历史命令分析,站点服务器用于提供服务发现的工具是 Consul。
关键证据:
安装 Consul:
- 命令 31-35、41-50 显示通过 HashiCorp 的 yum 仓库安装 Consul,或下载并解压 Consul 的二进制包。
配置和启动 Consul:
- 命令 53-57 显示创建了
consul.sh脚本并执行,用于启动 Consul 服务。- 命令 63 测试 Consul 的 API 接口(
curl 127.0.0.1:8500),Consul 默认使用 8500 端口提供服务发现和健康检查等功能。Consul 服务确认:
- 命令 641 再次执行
./consul.sh启动 Consul,表明该工具是持续运行的服务发现工具。因此,站点服务器用于提供服务发现的工具是 Consul。
4. 对服务器检材进行分析,站点服务器数据库配置文件名是?(答案格式:database.php)
application-sxj.yaml第二题找到的文件
5. 对服务器检材进行分析,该网站涉及的APP名称是?(答案格式:微信)
顺心借在配置文件的最后部分有明确的APP配置:
yaml
app: name: 顺心借 user_name: 47892eff-bf47-430f-af4a-26d5992e2013 password: 2957aad5-0f29-4575-86c0-6504e5154ef4
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2106278356.png)
6. 对服务器检材进行分析,该网站用于存储大量身份证照的OSS中的AccessKeyID后八位是?(答案格式:按实际值填写)
EuZJybzD ](http://happyprimes.cn/blog/usr/uploads/2025/09/1161594569.png)
7. 对服务器检材进行分析,站点服务器用于消息转发代理工具所使用的端口号是?(填写数字,答案格式:3306)
5672消息转发代理工具(RabbitMQ)
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3506539357.png)
8. 对服务器检材进行分析,站点服务器用于启动定时任务的代码片段存在于?(答案格式:LoginIndex.class)
MobileStatusTask.class ](http://happyprimes.cn/blog/usr/uploads/2025/09/481435044.png)
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1529113168.png)
9. 对服务器检材进行分析,站点服务器用于验证用户输入的验证码是否匹配的代码片段存在于?(答案格式:LoginIndex.class)
AdminIndexConller.class ](http://happyprimes.cn/blog/usr/uploads/2025/09/3508817685.png)
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/672930321.png)
10. 对服务器检材进行分析,数据库服务器中Docker容器镜像中mysql的镜像ID号前6位是?(答案格式:123asd)
23b013之前理解错误了,这两个E01是分别加载的,就是两部完整独立的虚拟机,并不是前后加载在同一个虚拟机里。
docker在data虚拟机里面
先输入
ss -lntp
查看服务打开情况,没看到docker
systemctl start docker
启动
然后docker images
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3320722752.png)
11. 对服务器检材进行分析,数据库服务器中DockerCompose的版本号是?(答案格式:1.1.1)
2.27.1docker-compose --version未响应
用docker compose version
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2848400164.png)
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1317097781.png)
12. 对服务器检材进行分析,数据库服务器中用于存储后台登录账号的数据表名是?(答案格式:login)
sys_user ](http://happyprimes.cn/blog/usr/uploads/2025/09/1016428143.png)
13. 对服务器检材进行分析,后台管理员“xpt-0”所绑定的手机号码是?(答案格式:13001880188)
19521510863 ](http://happyprimes.cn/blog/usr/uploads/2025/09/223926678.png)
14. 对服务器检材进行分析,用户首次借款初始额度是?(填写数字,答案格式:1)
4000 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1740515763.png)
15. 对服务器检材进行分析,受害者在平台中一共结款了几次?(填写数字,答案格式:1)
1857 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3332861679.png)
搭建网站
上半部分是我绕弯的历程,成功复现部分在下半边
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2696583875.png)
data虚拟机有固定的ip 192.168.160.150
然后在虚拟网络编辑器中新建一个VMnet,设置为仅主机,子网ip设置为192.168.160.0,DHCP设置从192.168.160.150开始到255结束
然后两个虚拟机都用这个VMnet,data虚拟机用命令systemctl restart network重启一下网卡,然后ip a查看一下修改后的ip
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/244661254.png)
主机分别ping一下 ](http://happyprimes.cn/blog/usr/uploads/2025/09/888903510.png)
然后重置一下data虚拟机中docker容器f2 中的mysql的密码
docker mysql8.0绕密
docker exec -it f29ed5271c46 sed -i '/\[mysqld\]/a skip-grant-tables' /etc/my.cnf- 作用:在MySQL配置文件的
[mysqld]段落下添加skip-grant-tables - 效果:让MySQL启动时跳过权限验证,无需密码即可登录
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2144995052.png)
如果显示这个
systemctl start dockerdocker restart f29ed5271c46- 作用:重启Docker容器使配置生效
无密码登录docker容器中的mysql
docker exec -it f29ed5271c46 mysql -urootmysql命令
刷新权限
FLUSH PRIVILEGES;进入mysql数据库(存放密码的user表在mysql数据库中)
use mysql;修改root密码(同时修改了远程连接的账号密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'root'@'%' IDENTIFIED BY '123456';刷新权限并退出
FLUSH PRIVILEGES;
exit;把一开始的skip-grant-tables配置移除,恢复正常权限登录
docker exec -it f2 sed -i '/skip-grant-tables/d' /etc/my.cnf
docker restart f2其中的f29ed5271c46是docker容器id
修改管理员登录限制
docker exec -it f2 mysql -uroot -p
123456
UPDATE sxj_prod.sys_user SET state = 0 WHERE id = 23; 需要对历史命令记录查看,在system的虚拟机将所需要的软件启动
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/615209324.png)
建议将源文件导出,用记事本查看,这样比筛选出来的更好,因为能看到不包括关键词的命令
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2455824436.png)
启动consul(consul.sh)与rabbitmq
./consul.shrabbitmq 启动需要修改data虚拟机的host文件
vi /etc/hosts删除 172.20.148.2 那一行,添加192.168.160.159 iZbp1gma2uf9hvsnbu9mdkZ
正确的host文件应该为
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.160.159 iZbp1gma2uf9hvsnbu9mdkZ然后重启rabbitmq
systemctl restart rabbitmq-server接下来重启jar包
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1300473064.png)
cd /
java -jar /data/cal-0.0.1-SNAPSHOT.jar或者
nohup java -jar -Xms4096M -Xmx4096M -Xmn3072M -Xss1M -XX:PermSize=256M -XX:MaxPermSize=256M /data/cal-0.0.1-SNAPSHOT.jar &下面这个不会占用命令行窗口,但是看不到报错信息
反向代理
find ./ -type f -exec sed -i 's/47.96.140.186/192.168.160.159/g' {} +其中的192.168.160.152需要换成system具体分到的ip
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2790529918.png)
我是159
然后在同一目录下,修改一下,因为登录是需要手机验证码的
redis-cli -a Sxy000**set ADMIN-PHONE18888888888 666666 然后修改数据库中用户的状态(state 0表示未禁用)
在data虚拟机
docker exec -it f2 mysql -uroot -p123456
SHOW DATABASES;
use sxj_prod;
show tables;
desc sys_user;
select * from sys_user;
UPDATE sys_user SET state = 0 WHERE state = 1;忘记改数据库配置了。。。(明天来)
数据库在jar包里面,在一个临时文件夹解压
cd temp_dir
jar -xf ../cal-0.0.1-SNAPSHOT.jar ](http://happyprimes.cn/blog/usr/uploads/2025/09/444691818.png)
修改ip
寻找47.96.140.186,改成system服务器的ip 我的是192.168.160.159
另一个同名本地文件也改
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3449666296.png)
改好重新打包为jar
jar -cfM0 cal-0.0.1-SNAPSHOT.jar ./然后覆盖
重启一下java jar
还需要将yaml文件里面的连接url修改
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/510002339.png)
将
spring.datasource.url=jdbc:mysql://rm-bp18td28bsh13f5jy.mysql.rds.aliyuncs.com:3306/数据库名改为
spring.datasource.url=jdbc:mysql://192.168.160.159:3306/数据库名同时还需要将下面的账号密码改为之前绕过mysql所设的root和123456
好像ip搞错了
重新开始配吧,要记住每台虚拟机的ip (同学,复现从这里开始跟着)
看这篇来复现
2024数证杯电子数据取证分析大赛初赛 服务器部分 Writeup | ZhangZ-Blog
多找找文章,搜数证杯初赛服务器
data.E01
ip: 192.168.160.150
作用:docker上有mysql的数据库
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2408495480.png)
system.E01
ip:192.168.160.159
作用:有java,网站jar包(里面存有sxj的配置yaml文件application-sxj.yaml),consul,redis(消息转发,也就是发短信验证码,并存储比对的软件)
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3145486292.png)
连上data.E01的docker容器mysql的数据库
ip:192.168.160.150
看一下主机是否能ping通
绕过Mysql的账密,步骤在上面,需要额外添加一个账号,后面要把阿里云的链接改为连data.E01的数据库,所以要在这新建一个账号
CREATE USER 'sxy'@'%' IDENTIFIED WITH mysql_native_password BY 'Sxy000**';
GRANT ALL PRIVILEGES ON sxj_prod.* TO 'sxy'@'%';用Navicat连接
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1788997865.png)
需要将sxy的plugin改为mysql_native_password
接下来换虚拟机 system.E01
因为配置文件中连的是阿里云的数据库
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/220232191.png)
需要将ip改为data.E01的ip,下面的账号密码填在上面的data容器数据库中
vim /etc/hosts可以看到初始是
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1212702722.png)
改为
data.E01的ip rm-bp18td28bsh13f5jy.mysql.rds.aliyuncs.com验证一下
ping rm-bp18td28bsh13f5jy.mysql.rds.aliyuncs.com ](http://happyprimes.cn/blog/usr/uploads/2025/09/2095372676.png)
还需要将本地127改为127.0.0.1 iZbp1gma2uf9hvsnbu9mdkZiZbp1gma2uf9hvsnbu9mdkZ
然后我们去Navicat,启用一个手机号,sxj_prod的sys_user
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3206908057.png)
0为启用,1为禁止
还是在system.E01中,做启动rabbitmq前期准备工作
将/www/admin中所有的47.96.140.186变成我们system.E01的ip
find /www/admin -type f -name "*.js" -exec sed -i 's/47.96.140.186/system.E01的ip/g' {} +启动两个
/root/consul.sh
/data/jar.sh ](http://happyprimes.cn/blog/usr/uploads/2025/09/1825716252.png)
发现 ](http://happyprimes.cn/blog/usr/uploads/2025/09/4076255112.png)
应该是没开jar包
java -jar /data/cal-0.0.1-SNAPSHOT.jar登录上网站
仍然在system.E01
发送短信验证码
redis-cli -a Sxy000**
# 验证码是1234
set ADMIN-PHONE18888888888 1234
EXPIRE ADMIN-PHONE18888888888 600 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3933540558.png)
登入上
但是说xpt-1被禁用,对照了一下是这个手机号
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1694701189.png)
前面修改改错了,应该改的是state,不是type
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/518129152.png)
登入上
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2252540960.png)
16. 对服务器检材进行分析,该平台中所有下单用户成功完成订单总金额是?(填写数字,答案格式:1)
11408100 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2817754049.png)
有师傅的文章写的是11066700,我也不知道为什么显示错误
有可能是因为登录的手机号不同吗
登录了13238424249账号,也是显示11408100,假设错误。
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1445787647.png)
更换了浏览器也是这个数
 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1852901773.png)
疑惑,希望有师傅能解答一下。
17. 对服务器检材进行分析,该平台中逾期费率是?(答案格式:1.1)
0.1 ](http://happyprimes.cn/blog/usr/uploads/2025/09/3194325382.png)
18. 对服务器检材进行分析,该平台中累计还款总金额是?(填写数字,答案格式:1)
10194700 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2642852932.png)
19. 对服务器检材进行分析,该平台总共设置了多少种借款额度?(填写数字,答案格式:1)
18 ](http://happyprimes.cn/blog/usr/uploads/2025/09/1612811531.png)
19 - 1,有一个被禁用了(操作显示“启用”)
20. 对服务器检材进行分析,该平台一共有多少个借款渠道?(填写数字,答案格式:1)
131 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2752642079.png)
在点击激活状态后,需要切换一下页面,数据才会从140更新到131
21. 对服务器检材进行分析,该平台对已完成用户收取了总计多少元服务费,结果精确到整数?(填写数字,答案格式:123)
4051915 ](http://happyprimes.cn/blog/usr/uploads/2025/09/2801286831.png)
参考:
https://www.zhangz.cc/2024/11/22/488/index.html
https://ooqoww.top/2025/04/04/shuzhengbei
https://mp.weixin.qq.com/s/oxjD0tMKdfcl1SFTnjeYyA
排序不分前后,感谢前辈解疑答惑