2024数证杯初赛

挂载/解压密码: /TP2G-h`q#(Ss!EUq,RR:Ss9”@!R”{-.kNw+-(gwGq.YLDS-|NEWH(GT3;6;

一共8个检材

计算机取证

1.对计算机镜像进行分析,计算该镜像中ESP分区的SM3值后8位为?(答案格式:大写字母与数字组合,如:D23DDF44)(2分)

这边ESP分区其实EFI系统分区,英文缩写是ESP

放Xways右键看看属性,可以看到EFI系统分区是分区2,文件系统位FAT32

很好在火眼里锁定,算一下SM3的哈希值即可

答案为BDBE1073

2.对计算机镜像进行分析,该操作系统超管账户最后一次注销时间为?(时区为UTC+08:00)(答案格式如:1970-01-01 00:00:00)(2分)

这边直接看登出,注销就是登出2024-10-25 22:57:32

3.对计算机镜像进行分析,该操作系统超管账户有记录的登录次数为?(填写数字,答案格式如:1234)(2分)

只要有记录,不论成功与否

共24次

4.对计算机镜像进行分析,该操作系统设置的账户密码最长存留期为多少天?(填写数字,答案格式如:1234)(2分)

先搭一下jlb654321

要看系统设置的账户密码最长存留期,需要先运行 secpol.msc打开本地安全策略

答案是42天

5.对计算机镜像进行分析,该操作系统安装的数据擦除软件的版本为?

(答案格式:1.23)(2分)

看看安装软件

就能看见有个擦除软件叫Eraser

版本为5.86

6.对计算机镜像进行分析,该操作系统接入过一名称为“Realtek USB Disk autorun USB Device的USB设备,其接入时分配的盘符为?(答案格式:A:)(2分)

火眼能直接看出来

是E盘

7.对计算机镜像进行分析,该操作系统无线网卡分配的默认网关地址为?(答案格式:127.0.0.1)(2分)

根据题意,看网络连接,看无线网卡,看网关即可

192.168.43.1

8.对计算机镜像进行分析,该操作系统配置的连接NAS共享文件夹的IP地址为?(答案格式:127.0.0.1)(2分)

这边能看到,ip是192.168.188.1

9.对计算机镜像进行分析,写出“吵群技巧.txt”文件SM3值的后8位?(大写字母与数字组合,如:D23DDF44)(2分)

直接暴搜

发现个这个压缩包极为可疑

但是导出是乱码

看内容

这边第二个有关吵群

解压出来直接算

10887AE1

10.对计算机镜像进行分析,该操作系统通过SSH连接工具连接CCTalk测试环境的SSH端口为?(填写数字,答案格式如:1234)(2分)

在Xshell找到了SSH连接的

可以看到端口是12849

11.对计算机镜像进行分析,该操作系统通过SSH连接工具连接的CCTalk境外服务器是哪个运营商的?

(填写汉字,答案格式:阿里云)(2分)

可以看到回收站有个CCTalk的文件

恢复到桌面后打开

显示无法与这个18.55.213.79连接

搜一下这个ip是哪个境外运营商提供的

放到情报社区看一下

可以看到是亚马逊云的

12.对计算机镜像进行分析,获取机主保存在本机的U盾序号的后4位数字为?(填写数字,答案格式如:1234)(2分)

但是直接找找不到这个U盾和USBkey

索引搜索一下

这边可以看到都和这个jpeg有关,我们提取出来看看

估计是存在着隐写

我们binwalk看看先

果然藏东西了

这个png就是U盾,里边还有个rar文件其实里边也是这个图片

序号为7835266409

所以后四位是6409

13.对计算机镜像进行分析,机主存储的某篇新闻报道“小程序搅动资源争夺战”的发表年份为?(答案格式:2024)(2分)

依旧先搜索,是一个.caj文件

我们可以这边使用转化网站先转化为pdf文件再进行阅读

所以年份为2019

14.对计算机镜像进行分析,该操作系统访问“环球商贸”的IP地址为?

(答案格式:127.0.0.1)(2分)

搜索能找到这个edge的书签记录有,可以看到访问的ip地址是39.108.126.128

当然了我们也可以继续找

在finalshell的地方我们可以找到这个连接

用户名是环球商贸的拼音,ip依旧是这一个

15.对计算机镜像进行分析,“环球商贸”服务器配置的登录密码为?

(答案按照实际填写,字母存在大小写)(2分)
上一题有

HQSM#20231108@gwWeB

16.对计算机镜像进行分析,机主安装的PC-Server服务环境的登录密码是?(答案按照实际填写,字母全小写)(2分)

依旧在finalshell这个地方

可以看到密码是jlb654321

其实火眼仿真的时候也告诉我们了

17.对计算机镜像进行分析,机主搭建的宝塔面板的安全入口为?

(答案格式:/abc123)(2分)

需要找一下,直接搜也行

就在浏览器的历史记录中

根据历史记录的推理,答案为这个/c38b336a

18.对计算机镜像进行分析,机主搭建的宝塔面板的登录账号为?(答案格式:abcd)(2分)

在这个计算机镜像我们什么都找不到

但是可以发现有个嵌套的

搞出来塞到火眼里

登录账号就是用户名,这边还能验证上一题

igmxcdsa

19.对计算机镜像进行分析,其搭建的宝塔面板的登录密码为?

(按实际值填写)(2分)
这边只有加盐密码,不是真密码

我们可以拿用户名暴搜一下

结果搜出来不是*就是这个

很长,看起来不会是宝塔密码

在火眼实在找不到,去xways看看能不能暴搜出来

直接搜,搜出来的密码也是要么没有要么*

但是我们可以定位所在的文件

在这个pagefile.sys里(其实直接搜igmxcdsa也会找到这个文件)

打开看看,我去1.8个G,十六进制翻一下吧

这边恶心就恶心在是UTF16的编码,我实在是不知道怎么搜,一般会搜密码的utf8编码的十六进制

或许我找不到之后也该搜一下utf16的?

这边先存疑吧,所有的wp都在告诉我找找就能找到,但是1.8个G直接看十六进制能那么快找到???

这边有博主说直接暴力搜索“面板密码”也能直接出

答案是jlb1998

20.对计算机镜像进行分析,机主搭建的宝塔环境中绑定的宝塔账号是?(按实际值填写)(4分)

其实这题绑定的宝塔账号就是电话

17859628390

但这样子写太过草率

我们都知道,宝塔的信息都会放在uerinfo.json里,所以我们可以去哪边看看

成功得到账号就是这个手机号17859628390

21.对计算机镜像进行分析,机主搭建的宝塔面板中Mysql环境的root密码为?

(按实际值填写)(4分)

在Navicat里直接就有

123456

22.对计算机镜像进行分析,机主搭建的宝塔面板中Mysql环境连接的端口号为?(填写数字,答案格

式如:1234)(2分)

就是3306,这是mysql默认端口,看来以后做不来确实是可以尝试一下默认端口的

23.接上题,“卡号分组”表所在的数据库名为?

(答案按照实际填写,字母全小写)(4分)

一搜就知道这个表所在的数据库位置

所i的那个过去确定一下

没问题啊

a_train2023

24.接上题,“孙华锦”在2020-07-01 10:49:07时间节点的交易余额为?(答案格式:1234.56)(4分)

就在这边,但是火眼里不好看

我们导出后去navicat看看

先仿真搭一下那个嵌套磁盘

mysql -u root -p启动一下

授权一下远程

GRANT ALL PRIVILEGES ON . TO ‘root‘@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

再刷新一下授权FLUSH PRIVILEGES

好像还是不行,改一下/etc/my.cnf

加一行bind-address=0.0.0.0

之后再利用navicat查询即可

SELECT*FROM 资金总表 WHERE 交易户名 =’孙华锦’AND 交易时间=’2020-07-01 10:49:07’;

所以交易余额为6610.94

其实也可以不那么麻烦

我们直接用火眼的数据库取证软件

导出csv

然后直接excel查表也行(但是查表出来的答案不一样,我也不知道为什么,不会是软件自己给我改了吧,也不应该啊,真是奇了怪了)

25.对U盘镜像进行分析,其镜像中共有几个分区?(填写数字,答案格式如:1234)(2分)

放xways看一眼

俩分区

2

26.对U盘镜像进行分析,其中FAT32主分区的FAT表数量有几个?(请使用十进制数方式填写答案,答案格式:1234)(2分)

这个真的没思路

Aura的wp说:

FTK Imager 挂载,然后直接上 R-Studio 分析。

两个盘扫描一下,然后直接就能看。

原来这种题需要用R-Studio做

这边先打开镜像,然后再扫描

然后就能看见了

一共1张表

27.对U盘镜像进行分析,其中FAT32主分区定义的每扇区字节数为?

(请使用十进制数方式填写答案,答案格式:1234)(2分)

在上一题根据大小,我们都可以确定这个FAT32主分区就是分区一

于是我们可以在xways看到每扇区字节数为512

28.对U盘镜像进行分析,其中FAT32主分区的文件系统前保留扇区数为?(请使用十进制数方式填写答案,答案格式:1234)(2分)

这边需要知道的是保留扇区 = FAT 扇区 - 起始扇区

这边是可以看到起始扇区有2048的

然后我们需要知道FAT扇区的大小,这其实是下一题的内容

fat扇区起始的十六进制为F8 FF FF 0F

所以我们搜一下

可以定位到9393的位置,这就是FAT32主分区的FAT1表相对于整个磁盘的起始扇区数9393

所以本题的答案为9393-2048=7345

29.对U盘镜像进行分析,其中FAT32主分区的FAT1表相对于整个磁盘的起始扇区数为?(请使用十进制数方式填写答案,答案格式:

1234)(2分)

如上图,暴搜FAT头得到9393

30.对U盘镜像进行分析,其中NTFS逻辑分区的$MFT起始簇号为?(请使用十进制数方式填写答案,答案格式:1234)(2分)

先定位到NTFS分区

然后扫描一下

能看到MFT起始位置312656

一簇是一个集群

一个集群里面有八个扇区

本题问的是簇号

所以本题的扇区数除以8就是簇号,312656/8=39082

31.对U盘镜像进行分析,其中NTFS逻辑分区的簇大小为多少个扇区?(请使用十进制数方式填写答案,答案格式:1234)(4分)

这边可以看到一个簇的大小为8Sectors

8个扇区

32.对U盘镜像进行分析,请从该镜像的两个分区中找出使用“新建文本文档.txt”记录的同一个MD5值的两部分信息,并写出该MD5值的第13–20位字符串。(答案格式:大写字母与数字组合,如:D23DDF44) (4分)

扫描完之后双击一下就能进去了

可以看到这个u盘里的一些文件,在火眼可看不见

这问题问的也是够抽象的

根据题目描述,在两个分区我们各可以分别找到这样子一张文件头损坏的图片

提取后进行修复,加上文件头FFD8FFE0

这边是单纯的丢失,不用扩充在前边

修复好后就可以打开图片了

可以看到中间的那几位对比后应该是d668aee2

手机取证

1.对手机镜像进行分析,机主微信ID号为?

(答案按照实际填写,字母全小写)(2分)

火眼一把梭

wxid_gvlyzqeyg83o22

2.对手机镜像进行分析,机主在2023年12月登录宝塔面板使用的验证码为?(填写数字,答案格式如:1234)(2分)

依旧一把梭

482762

3.对手机镜像进行分析,小众即时通讯“鸽哒”应用程序的最后更新时间为?

(答案格式如:1970-01-01 00:00:00)(2分)

首先是这边我们直接搜鸽哒搜不到名称,所以我们得搜包名

搜到了之后这边不存在最后升级时间

但是设置列可以找到

所以答案就是这一个

2024-09-20 09:25:19

4.对手机镜像进行分析,该手机中记录的最后一次开机时间。(答案格式如:1970-01-01 00:00:00)(2分)

直接在开关机日志这边就可以确定到最后一次开机时间

2024-10-24 11:27:14

5.对手机镜像进行分析,该手机中高德地图APP应用的登录ID为?

(答案按照实际填写)(2分)

火眼直接分析出来了

ID为950980338

6.对手机镜像进行分析,该手机中高德地图APP应用登录账号头像的SHA-256值前8位为?(答案格式:大写字母与数字组合,如:D23DDF44)(2分)

这边能先确定头像长什么样,但是这个源文件是高德地图的用户配置文件

不过我们可以定位一下应该就在这个****24CS_Phone.E01/分区4/data/com.autonavi.minimap/files里

所以在这边

前8位为8F8A68A3

7.对手机镜像进行分析,其中20220207-20230206的微信账单文件的解压密码为?(答案格式:按实际值填写)(2分)

搜一下

这玩意在计算机里啊?

但是密码在手机照片里

翻一下就找到了

是847905

(欸我说以后找到这玩意是不是其实也可以尝试爆破一下)

真的欸

8.对手机镜像进行分析,机主在手机中存储的一张复古土砌矮墙照片的拍摄地为哪个城市?(答案格式:北京市)(2分)

在手机照片里翻翻捡捡

应该说的是这一张

在文件管理器打开看看属性

存在拍摄经纬度,那我们直接根据这个来搜一下拍摄地址

在江西景德镇呢

9.对手机镜像进行分析,通过AI合成的人脸照片中,有几张照片是通过本机当前安装的AI照片合成工具生成,并有对应记录的?(填写数字,答案格式如:1234)(4分)

根据包名找一下文件夹

在database文件夹下

成功找到了,数据库里一共3张,所以答案为3

10.对手机镜像进行分析,统计出通讯录号码归属地第二多的省份是?(答案格式:广东)(4分)

也就一百来条,大致数一下就发现是福建

11.对手机镜像进行分析,找出“季令柏”身份证号后4位为?(答案格式:1234)(2分)

直接搜搜不出来

但是搜索身份证能搜到

点进去看看

欸显示不了,拿出来看看

依旧是文件头损坏

修补一下

开一下编辑

修复完成

成功打开

就是这个季令柏的

513701199811288043

12.对手机镜像进行分析,找出接收“葵花宝典1.doc”文件使用的应用程序的第一次安装时间为?(答案格式如:1970-01-01 00:00:00) (2分)

先搜

发现是Telegram

那就去找这个的安装时间

2024-09-20 09:29:40

13.对手机镜像进行分析,机主使用的小众即时通讯应用使用的服务器IP为?(答案格式:127.0.0.1) (2分)

小众说的就是那个鸽哒

里边直接写着IP地址

163.179.125.64

14.对手机镜像进行分析,机主在哪个平台上发布过转让传奇游戏币的信息,请写出该平台应用APP的包名?(答案格式:com.abcd) (4分)

转让传奇游戏币

直接搜搜不到

看看有什么应用可能是干这个的

这一个比较可疑,也没用到过,看看这个是干啥的

OK就是这个

手机相册能看见

com.jiuwu

15.对手机镜像进行分析,其中有一“双色球”网页的玩法规则中定义的“三等奖”的奖金是多少?(填写数字,答案格式如:1234) (4分)

找了半天没找到,注意到这边还有个备忘录呢,打开看看

打开后发现这边有个todo文件

这边写着中奖规则

一个个打开看看

1
2
3
4
5
6
7
8
9
10
https://www.lottery.gov.cn/dlt/index.html
https://www.lottery.gov.cn/jc/index.html
https://www.lottery.gov.cn/cz/index.html
https://www.lottery.gov.cn/xdgg/
https://www.lottery.gov.cn/plwf/index.html
https://www.lottery.gov.cn/qxc/index.html
https://www.cwl.gov.cn/fcpz/yxjs/ssq/
https://www.cwl.gov.cn/fcpz/yxjs/ggl/
https://www.cwl.gov.cn/fcpz/yxjs/fc3d/
https://www.cwl.gov.cn/fcpz/yxjs/kl8/

最后第七个是对的,能找到三等奖是3000

16.对手机镜像进行分析,找出手机连接过的米家摄像头终端设备的用户ID为?(答案格式:答案按照实际填写) (2分)

在米家目录下能搜到摄像头,所以就是这个账号ID

2968704175

17.对手机镜像进行分析,找出手机连接过的米家摄像头终端设备的IP地址为?(答案格式:127.0.0.1) (4分)

直接写了

192.168.110.106

数据分析

我去,数证杯还有综合题???

1.对计算机,手机,U盘镜像检材综合分析,找出计算机中VC加密容器使用的登录密钥文件,其中逻辑大小较小的文件占用多少个字节?(答案格式:1234) (4分)

当时在计算机取证的时候是看见过这样子一个文件的,这就是vc加密容器

在手机取证中正好有这样子的聊天记录

用快捷方式作为密钥文件打开,也是够新奇的

较小的一个是Finalshell

看看具体多少字节

直接看属性看不出

放Winhex看看,是1173字节

2.对计算机,手机,U盘镜像检材综合分析,写出存储的“带彩计划.txt”文件的SM3哈希值前8位;(大写字母与数字组合,如:D23DDF44) (2分)

需要VC挂载,我们去挂载

放入快捷方式(我不知道为什么挂载有问题,可能是文件损坏了什么的,麻烦了)

所以后边是AF30FFA1

3.对计算机,手机,U盘镜像检材综合分析,写出存储的“Shakepay买币,提币流程.ppt”文件在当前分区的起始簇号;(填写数字,答案格式如:1234) (4分)

也在vc解密的盘里

直接看看Winhex即可

起始簇号为44378

4.对计算机,手机,U盘镜像检材综合分析,写出存储在手机中,用于访问钱包地址的网站登录密码;(答案按照实际填写,字母全大写) (4分)

存储在手机里的密码,一早就看见了,一直没用到

X29772024

5.对计算机,手机,U盘镜像检材综合分析,写出存储的钱包地址的前8位;(答案格式:abcd1234) (4分)

老熟人了,这个平航杯也见过

我们在手机里一直有看见助记词

想要知道钱包地址只需要利用这个登录钱包

依旧metamask

在插件里

输入之后直接就可以看见这个地址

所以答案是91cCcA87

6.对计算机,手机,U盘镜像检材综合分析,写出存储的钱包地址私钥的前8位;(答案格式:abcd1234) (4分)

点这边可以显示私钥

输入密码之后就能显示私钥了

所以是e87dca4c

7.对计算机,手机,U盘镜像检材综合分析,统计出机主微信账单从210207-240206期间发生的转入金额第三高的“对方卡号”字段的值为?(答案格式:汉字) (2分)

这个是手机的一道题,我们要把那三个压缩包全部提出来先

密码都是6位数字,懒得找的话可以直接爆破

爆破完密码如上,里边是三个pdf

pdf不好看,我们可以找脚本给他转化成excel文件

我们把这些excel合成一个

之后再去走数据分析的脚本就好了,我最讨厌大数据分析了()

这边问的是总的第三

让ai写个脚本就好了

就像这样子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import pandas as pd

# 读取Excel文件
df = pd.read_excel('总表.xlsx')

# 筛选存储类型为“转入”的数据
filtered_df = df[df['存取类型'] == '转入']

# 按对方卡号分组并求和交易金额
grouped_df = filtered_df.groupby('对方卡号')['交易金额'].sum().reset_index()

# 按交易金额降序排序
sorted_df = grouped_df.sort_values('交易金额', ascending=False)

# 输出前五名
print("交易金额前五名(对方卡号):")
print(sorted_df.head(5))

所以第三位就是星辰

8.对计算机,手机,U盘镜像检材综合分析,统计出机主微信账单从210207-240206期间发生的“对方卡号”字段值为“陈建设”的转出净值为?(填写数字,答案格式如:1234) (2分)

依旧数据分析,这种一般都是问ai做,像大数据题目

抄一下aura大神的好啦嘻嘻

谢谢aura大神

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import pandas as pd

file_path = '总表.xlsx' # 替换为你的文件路径
df = pd.read_excel(file_path)

# 筛选出“对方卡号”为“陈建设”的记录
chen_jianshe_df = df[df['对方卡号'] == '陈建设']

# 分别计算“转入”和“转出”金额总数
transfer_in_sum = chen_jianshe_df[chen_jianshe_df['存取类型'] == '转入']['交易金额'].sum()
transfer_out_sum = chen_jianshe_df[chen_jianshe_df['存取类型'] == '转出']['交易金额'].sum()

# 计算净值(转出净值 = 转出金额总数 - 转入金额总数)
net_value = transfer_out_sum - transfer_in_sum

# 输出结果
print(f"对方卡号为'陈建设'的转出净值为: {net_value:.2f}")

所以这一题答案为228661

9.对计算机,手机,U盘镜像检材综合分析,统计出机主微信账单从210207-240206期间发生的交易笔数第三多的数量为?(填写数字,答案格式如:1234) (2分)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pandas as pd

file_path = '总表.xlsx' # 替换为你的文件路径
df = pd.read_excel(file_path)

# 按“对方卡号”统计交易次数
transaction_counts = df['对方卡号'].value_counts().reset_index()

# 重命名列名
transaction_counts.columns = ['对方卡号', '交易次数']

# 按交易次数降序排序
sorted_transaction_counts = transaction_counts.sort_values(by='交易次数', ascending=False)

# 输出到控制台
print(sorted_transaction_counts)

第三多的是北京鸿易博,一共207次

10.对数据分析检材中的第01-数据进行分析,办案人员从多个赌博网站中导出了100多份的报表,请统计出所有平台会员使用本币充值的总金额是多少?(答案格式:仅数字,结果不保留小数) (2分)

这下真的纯大数据了,直接去这边找了

一开始是一大堆的csv文件,直接靠人为合并明显不可取

我们可以写代码合成,当然这边也可以用小技巧合成

我们可以用copy直接合成

1
copy *.csv C:\Users\Meiyouqian\Desktop\1.csv

这样子就直接合成变成了一个csv,只是没分列


我们直接用WPS的智能分列就好了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import pandas as pd

# 读取Excel文件
xlsx_file = 'ALL_fixed.xlsx'
df = pd.read_excel(xlsx_file)

# 查看前几行,确认数据是否读取正确
print(df.head())

# 转换“充值金额”列为数值,并将无法转换的内容(如文本)设置为NaN
df['充值金额'] = pd.to_numeric(df['充值金额'], errors='coerce')

# 计算充值金额的总和,跳过NaN值(即非数值内容)
total_amount = df['充值金额'].sum()

# 输出总和
print(f"充值金额的总和为: {total_amount}")

总和为17590342

11.对数据分析检材中的第02-数据进行分析,办案人员在电脑中找到多个赌博网站的交易流水报表,每个报表都是以网站编号 和年份命名,每个月独立生成一个sheet页。请统计出所有的交易流水总金额是多少?(答案格式::123456) (2分)

数据分析没啥意思,贴个脚本吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import os
import pandas as pd

# 获取当前目录下所有xlsx文件
xlsx_files = [f for f in os.listdir() if f.endswith('.xlsx')]

# 初始化总金额
total_amount = 0

# 遍历每个xlsx文件
for xlsx_file in xlsx_files:
# 读取文件中的所有工作表
xls = pd.ExcelFile(xlsx_file)

# 遍历每个工作表
for sheet_name in xls.sheet_names:
# 读取当前工作表的数据
df = pd.read_excel(xls, sheet_name=sheet_name)

# 确保有“收支金额”列并且该列包含数值类型
if '收支金额' in df.columns:
# 将“收支金额”列转换为数值,无法转换的内容会被设置为NaN
df['收支金额'] = pd.to_numeric(df['收支金额'], errors='coerce')

# 将负数转换为正数(取绝对值)
df['收支金额'] = df['收支金额'].abs()

# 累加当前工作表的收支金额总和
total_amount += df['收支金额'].sum()

# 输出所有文件和工作表的交易流水总金额
print(f"所有交易流水的总金额为: {total_amount}")

所以是120630660

12.对数据分析检材中的第03-数据进行分析,请从赌博平台的用户登录日志表中,统计出2020年1月1号至2020年6月30号,总共有多少位会员登录了该平台?(答案格式:123456) (2分)

我去数据分析直接给e01文件的来了

检测出来是一个Windows系统,仿真一下

桌面上就有数据库文件,我们看看

这个Windows镜像就是专门为了这一个sql文件办的啊。。

打开来长这样,根据题目我们写个查询就好了

1
SELECT COUNT(DISTINCT username) from ssc2022_member_session WHERE logintime BETWEEN "2020-01-01" AND "2020-06-30";

所以本题为4125

13.对数据分析检材中的第03-数据进行分析,通过还原赌博平台数据库备份文件,请统计用户投注总次数前5的彩种开奖总次数?(涉及的数据库表:ssc2022_bets,ssc2022_data)(答案格式:123456) (4分)

依旧在刚刚的数据库内查找,我们只需要写一个查询就好了

1
SELECT COUNT(*) FROM ssc2022_data WHERE type IN(SELECT type FROM(SELECT ssc2022_bets.type FROM ssc2022_bets GROUP BY ssc2022_bets.type ORDER BY COUNT(type) DESC LIMIT 5)as a);

所以本题的答案为12724

14.对数据分析检材中的第03-数据进行分析,请统计出在不止一种彩种上进行过投注的用户数量,并计算他们在2018年一共涉及了平台多少流水?(答案格式:保留三位有效数字,如:123.123) (4分)

真是啊,整个镜像都拿来干这个数据库了,何意味

依旧SQL语句

1
SELECT SUM(ABS (coin)) FROM ssc2022_coin_log WHERE actionTime>=1514736000 AND actionTime<1546272000 AND uid IN(SELECT uid FROM(SELECT uid,COUNT(DISTINCT type) AS bet_num FROM ssc2022_bets GROUP BY uid HAVING bet_num>1)as a);

本题为10721.099

流量分析

1.分析网络流量包检材,写出抓取该流量包时所花费的秒数?(填写数字,答案格式:10) (2分)

看看捕获文件属性

一共58:24

也就是3504秒

2.分析网络流量包检材,抓取该流量包时使用计算机操作系统的build版本是多少?(答案格式:10D32) (2分)

依旧如上题

23F79

3.分析网络流量包检材,受害者的IP地址是?(答案格式:192.168.1.1) (2分)

过滤一下http协议

然后可以看到在攻击的Destination一直都是192.168.75.131

攻击了才会404

4.分析网络流量包检材,受害者所使用的操作系统是?(小写字母,答案格式:biwu) (2分)

随便抓一条被攻击的就能看见是Ubuntu系统

5.分析网络流量包检材,攻击者使用的端口扫描工具是?(小写字母,答案格式:abc) (2分)

扫描一般就在最前边,我们直接拖到最前边去

这边过滤了http后很容易看见

User-agent是nmap

这就是端口扫描的工具

6.分析网络流量包检材,攻击者使用的漏洞检测工具的版本号是?(答案格式:1.1.1) (2分)

这边后边全都是这个

随便点一个就能看到是3.1.0

7.分析网络流量包检材,攻击者通过目录扫描得到的 phpliteadmin 登录点是?(答案格式:/abc/abc.php) (2分)

先ctrl+F搜索一下

既然成功找到的登陆点,那肯定是200的

http.response.code == 200

OK这边一大片全都能确定答案

很明显就是这一个了

/dbadmin/test_db.php

8.分析网络流量包检材,攻击者成功登录到 phpliteadmin 时使用的密码是?(答案格式:按实际值填写) (2分)

这个时候不能只锁定200了

找一下POST的http协议

POST /dbadmin/test_db.php

密码是admin

上边可以看到还有几个POST,而且password与这个不一样

之所以不选是因为如果上边对了就不会去试下边的了,尝试这个之后没有再去尝试,所以这个admin是对的

所以密码是admin

而且可以注意到这几个POST之后变成了GET,明显是密码对了

9.分析网络流量包检材,攻击者创建的 phpinfo 页面文件名是?(答案格式:abc.txt) (4分)

就在刚刚那条下边一点

可以看到大概的信息了,发现了这个流的返回包就返回的是phpinfo页面

所以文件名为demo.php

10.分析网络流量包检材,攻击者利用服务器漏洞从攻击机上下载的 payload 文件名是?(答案格式:abc.txt) (4分)

在刚刚的题目中我们可以看到受害者的ip为192.168.75.131,我们可以在http过滤的基础上也过滤一下ip

1
http && ip.src==192.168.75.131

可以看到这边有一个txt文件

看似是txt文件,但其实里边是php语言,是一个通过socket来反弹shell的payload。

所以这个就是 payload 文件,名为rev.txt

11.分析网络流量包检材,攻击者反弹shell的地址及端口是?(答案格式:192.168.1.1:1234) (4分)

上边那题的答案就是个反弹shell的代码

所以直接在里边找就好了

所以答案就是这个

12.分析网络流量包检材,攻击者电脑所使用的Python版本号是?(答案格式:1.1.1) (2分)

依旧是刚刚的流

可以看到下载的时候走的是python的简易http

所以python代码就是3.11.8

13.分析网络流量包检材,受害者服务器中网站所使用的框架结构是?(答案格式:thinkphp) (2分)

反弹 shell 连上了

后边应该所有的流量都是 TCP,所以追踪一下TCP流,翻一下

往后翻一个就看见了,框架结构是wordpress

14.分析网络流量包检材,攻击者获取到的数据库密码是?(答案格式:大小写按实际值填写) (4分))

就在上边那题的TCP流里

继续阅读就能看到DB_PASSWORD

所以答案是 sWfCsfJSPV9H3AmQzw8

重复了蛮多遍的

15.分析网络流量包检材,攻击者上传了一个weevely木马进行权限维持,上传时所使用的端口号为?(答案格式:3306) (2分)

继续往后,要上传木马,这边有个php文件一看就是啊

所以端口是2000

16.分析网络流量包检材,攻击者上传了一个weevely木马进行权限维持,该木马第一次执行时获取到的缓冲区内容是?(答案格式:按实际值填写) (4分)

weevely木马是help.php,我们追踪一下这个文件

可以看到整个文件里边写的,最后的值会加在kh和kf之间

所以我们可以找到这一串G6pSUAZWgTBjNUtkPw==才是加密后的值

继续根据help.php,搞清楚加密逻辑写一个解密程序

其实就是先zlib压缩,然后异或加密,最后进行Base64

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import base64
import zlib

def xor_decrypt(data, key):
"""
XOR解密函数(与PHP中的x函数对应)
data: 要解密的字节数据
key: 密钥(字节)
"""
key_len = len(key)
output = bytearray()
for i in range(len(data)):
output.append(data[i] ^ key[i % key_len])
return bytes(output)

def decrypt(encrypted_data):
"""
主解密函数
encrypted_data: Base64编码的加密字符串
"""
# 密钥与PHP代码中的$k一致
key = b"c6ae1e70"

try:
# 1. Base64解码
decoded_data = base64.b64decode(encrypted_data)
print(f"Base64解码后: {decoded_data.hex()}")

# 2. XOR解密
decrypted_data = xor_decrypt(decoded_data, key)
print(f"XOR解密后: {decrypted_data.hex()}")

# 3. Zlib解压缩(对应PHP的gzuncompress)
decompressed_data = zlib.decompress(decrypted_data)
result = decompressed_data.decode('utf-8')

return result

except Exception as e:
return f"解密失败: {str(e)}"

# 要解密的数据
encrypted_text = "G6pSUAZWgTBjNUtkPw=="

# 执行解密
decrypted_result = decrypt(encrypted_text)
print(f"\n解密结果: {decrypted_result}")

所以最后得到第一次执行时获取到的缓冲区内容为57638

服务器取证

程序分析太恶心了,跳了兄弟,来看看服务器吧

1.对服务器检材进行分析,站点服务器可能是从哪个云服务平台上调证过来的?(填写汉字,答案格式:亿速云)

服务器看起来就俩检材,所以应该一个是主服务器,一个是数据服务器,我们先逐个仿真

仿真主服务器的时候这边直接就显示了阿里云

所以第一题的答案就是阿里云

2.对服务器检材进行分析,站点服务器中数据库的密码是?(按实际值填写)

在历史的命令记录里可以看到一直在调用这个jar文件,发现启动的服务器是 java 服务器,这就是那个 jar 包

cal-0.0.1-SNAPSHOT.jar

放到jadx看看

一大堆配置文件,先看看默认的配置文件,可以看到启用的是sxj

直接就能在这个静态配置文件这边找到这个密码

Sxy000**

3.对服务器检材进行分析,站点服务器用于提供服务发现的工具名是?(答案格式:zookeeper)

继续看历史命令
可以看到这边存在着提供服务发现的工具名是consul

4.对服务器检材进行分析,站点服务器数据库配置文件名是?(答案格式:database.php)

第二题我们就已经确定过了站点服务器数据库配置文件是这个

所以配置文件名就是application-sxj.yaml

5.对服务器检材进行分析,该网站涉及的 APP 名称是?(答案格式:微信)

APP名称:顺心借

6.对服务器检材进行分析,该网站用于存储大量身份证照的 OSS 中的 AccessKeyID 后八位是?(答案格式:按实际值填写)

直接搜索就能看见LTAI5tBt7rHreKjDEuZJybzD

所以是EuZJybzD

7.对服务器检材进行分析,站点服务器用于消息转发代理工具所使用的端口号是?(填写数字,答案格式:3306)

端口号是5672

8.对服务器检材进行分析,站点服务器用于启动定时任务的代码片段存在于?(答案格式:LoginIndex.class)

搜一下吧

能搜到

过去之后发现都位于MobileStatusTask.class

9.对服务器检材进行分析,站点服务器用于验证用户输入的验证码是否匹配的代码片段存在于?(答案格式:LoginIndex.class)

直接搜验证码能搜到很多东西

跟刚刚那题差不多,是这个AdminLoginDTO.class

10.对服务器检材进行分析,数据库服务器中 Docker 容器镜像中 mysql 的镜像 ID 号前 6 位是?(答案格式:123asd)

直接看数据库服务器Docker,这边存在着一个mysql镜像,火眼直接就能看见镜像ID

所以前六位是23b013

11.对服务器检材进行分析,数据库服务器中 DockerCompose 的版本号是?(答案格式:1.1.1)

直接启起来得了

在数据库服务器中直接输入docker compose version

可以看到版本号出来了,是2.27.1

12.对服务器检材进行分析,数据库服务器中用于存储后台登录账号的数据表名是?(答案格式:login)

检索一下就能看见了,是很标准的账户数据库,sys_user

13.对服务器检材进行分析,后台管理员 “xpt-0” 所绑定的手机号码是?(答案格式:13001880188)

在上一题的这个数据库里就能看见xpt-0这个人

所以是19521510863

14.对服务器检材进行分析,用户首次借款初始额度是?(填写数字,答案格式:1)

继续翻数据库

这边有个global_config全局配置表

里边就可以看到这个

所以用户初始额度为4000

重构网站

这个服务器怪逆天的,其实跟2025的数据库也有点像,都是可以完全不搭起来直接翻,就能做掉大部分题目

我们这边服务器重构完全跟着Aura大神走一遍(https://jasmineaura.github.io/AuraBlog/cybersecurity/n2hz2zkd/

先配置data服务器(请注意这边所有的内容都要配成NAT,不然全部白干)

data服务器

这边ip是静态的,不太好,要么改虚拟机配置,要么配网卡,或者就改一下ifcfg-ens33的配置(因为这边ip a看见了主要是ens33)

把这个BOOTPROTO从静态改成DHCP,固定的ip也给注释掉

重启一下sudo systemctl restart network

1
2
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
sudo systemctl restart network

这下老实了

ssh开着,那我们接下来连一下ssh

还是很好连上的

后边我们发现docker还没启动,所以我们接下来先启动 docker,然后修改 mysql 的密码

1
2
systemctl stop firewalld 	#关个防火墙
systemctl start docker #启动一下docker

OK先直接systemctl start启动一下,发现运行正常,然后就可以进去mysql改一下数据库配置了

直接干成没密码了,所以我们直接回车进入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker exec -it mysql8.0.39 bash  #进入名为 mysql8.0.39的容器内部
sed -i '/\[mysqld\]/a skip-grant-tables' /etc/my.cnf #修改 MySQL 的配置文件 my.cnf
#这个配置会让服务器启动时跳过权限表验证,允许任何用户无需密码即可登录
exit#退出一下

docker restart mysql8.0.39 #重启 MySQL 容器
docker exec -it mysql8.0.39 bash #再次进入容器,由于设置了 skip-grant-tables,在提示输入密码时直接回车(空密码)即可登录
mysql -u root -p # 空密码,登录mysql

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES; #只是改了密码
quit

sed -i "s/skip-grant-tables/ /" /etc/my.cnf #删除了这个配置项
exit

差不多就是这样子的一个步骤

最后创建 sxy 用户,保证和之前 application-sxj.yaml 的信息对应上

1
2
docker exec -it mysql8.0.39 bash
mysql -u root -p123456 #这不就说明刚刚密码配成功了嘛

先进去再说,这能进去不就说明我们刚刚都很成功嘛

1
2
3
4
5
6
7
8
9
10
CREATE USER 'sxy'@'%' IDENTIFIED WITH mysql_native_password BY 'Sxy000**'; 
GRANT ALL PRIVILEGES ON sxj_prod.* TO 'sxy'@'%';
FLUSH PRIVILEGES;
exit
exit

# 搞完了,重启容器
docker exec -it f29 sed -i "s/skip-grant-tables/ /" /etc/my.cnf
docker restart f29
docker exec -it f2 mysql -uroot -p123456

OK啊,这下可以连mysql了,我们就连这个id是24的,就改他的就好

最后在sys_user把这个id24的人的”是否禁用“改为0,防止后边登不上去(这边改肯定还是在navicat改,但是在火眼可以方便定位)

然后就可以修system服务器了

system服务器

先看ip,再关防火墙systemctl stop firewalld

依旧在这个jar文件里可以看到域名是rm-bp18td28bsh13f5jy.mysql.rds.aliyuncs.com

然后我们去hosts加一个静态映射,linux的hosts一般存在/etc/hosts里,这边映射改成data的ip

改完之后我们就可以看看网站了

发现端口开在82

要手机号就算了,验证码怎么办呢

先尝试抓包,发现是后台跳转地址有问题

所以我们这边要改后台跳转地址为本机地址

1
2
cd /www/admin/
find ./ -type f -name '*js' -exec sed -i 's/47.96.140.186/192.168.1.128/g' {} + #这边前边的配置文件或者抓包能看到,后边是改成system的ip

直接搞验证码我们肯定搞不到手

我们发现其实用户输入的验证码是在redis数据库中进行一个对比,所以我们可以直接修改redis啊

先要连接一下这边的redis库

这个redis必须更新Navicat,不然navicat没有这个选项

这个密码很早以前就在配置文件看见过了,于是我们就可以成功连接上redis数据库了

连上之后加一行验证码,手机号我们可以在data数据库看见,刚刚把这个id为24的人的是否禁用关了,现在去继续为他整个验证码

手机号是19521510863

所以我们加也是就加这个的验证码

这样子加一行数据

暂时还是登不进,但是我们重启就好了,跟着历史记录走

1
2
3
4
5
systemctl start rabbitmq-server
cd /root
./consul.sh
cd /data
./jar.sh

这样子重启服务器之后就可以接收到验证码了

我们直接填改的1234就好了

终于成功登录了!!!!!!

15.对服务器检材进行分析,受害者在平台中一共结款了几次?(填写数字,答案格式:1)


登录上去之后就一切好说了,总还款订单拉下来直接就能看到是1857

16.对服务器检材进行分析,该平台中所有下单用户成功完成订单总金额是?(填写数字,答案格式:1)

字面意思,就是通过订单总金额

所以是11408100

17.对服务器检材进行分析,该平台中逾期费率是?(答案格式:1.1)

点开设置即可看见,逾期费率为0.1

18.对服务器检材进行分析,该平台中累计还款总金额是?(填写数字,答案格式:1)

仪表盘都能看见

累计还款总金额为10194700

19.对服务器检材进行分析,该平台总共设置了多少种借款额度?(填写数字,答案格式:1)

在借款额度可以看到,这边有19条,但是有一条是禁用的

所以是19-1=18条

20.对服务器检材进行分析,该平台一共有多少个借款渠道?(填写数字,答案格式:1)

看渠道管理,主要还要看是否开启

说是140,但实际上有9个没开

所以是131

21.对服务器检材进行分析,该平台对已完成用户收取了总计多少元服务费,结果精确到整数?(填写数字,答案格式:123)

交易统计这一块可以直接看到服务费

总金额为4051915


2024数证杯初赛
https://mei-you-qian.github.io/2025/11/25/2024数证杯初赛/
作者
Meiyouqian
发布于
2025年11月25日
许可协议