news 2026/6/10 8:33:51

2022长安杯(write up)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2022长安杯(write up)

检材一(服务器)

ssh 连接时,网段要修改和服务器一个 ip,不然连接不上

1. 检材1的SHA256值为(大写)

直接计算

2. 分析检材1,搭建该服务器的技术员IP地址是多少?用该地址解压检材2

172.16.80.100

或者仿真使用 last 命令

3.检材1中,操作系统发行版本号为

7.5.1804

4. 检材1系统中,网卡绑定的静态IP地址为

172.16.80.133

5. 检材1中,网站jar包所存放的目录是(答案为绝对路径,如“/home/honglian/”)

输入 last,可以看到很多 jar 包在 /web/app/

输入last命令可以得到系统的登录历史记录,包括所有用户的登录、登出、重启和关机信息。

或者输入 history | grep jar 来过滤 jar 文件

或者在火眼历史命令里面看

6. 检材1中,监听7000端口的进程对应文件名为

想 ssh 连接,先在虚拟机修改一下 nat 的网段为 172.16.80.x

然后就可以连接了,不然会连接失败

然后输入 history,查看终端历史,找到可能的 jar 包

一个个启动,查看监听端口

可以看到,在 cloud.jar 这里监听端口是 7000

7. 检材1中,网站管理后台页面对应的网络端口为(答案填写阿拉伯数字,如“100”)

在检材二直接就看到了 9090

8.检材1中,网站前台页面里给出的APK的下载地址是(答案格式如下:“https://www.forensix.cn/abc/def”)

方法一:重构网站

在 history 的这里,可以看到解压 web.tar 后,开始使用 npm 命令启动网站了

npm run dev是启动前端项目的开发服务器的命令。这是 Vue、React 等现代前端项目中最常用的开发命令之一。

ls ./可以看到跟目录就有 web.jar

但是不知道为什么我重构不出来

方法二:照片

再照片里面直接搜索 app

感觉就是第一个,用 cyberchef 看一下https://pan.forensix.cn/f/c45ca511c7f2469090ad/?dl=1,看这连接十之八九了

9. 检材1中,网站管理后台页面调用的用户表(admin)里的密码字段加密方式为?

用 winscp 连接一下,用 finalshell 其他也可以

然后导出这个 admin-api.jar,逆向分析一下,用 jadx 打开

直接搜索 password 发现有点多

用正则表达式搜索一下包含 encrypt 和 password 的代码

.*encrypt.*password.*

MD5

10. 分析检材1,网站管理后台登录密码加密算法中所使用的盐值是

看上题有个 MD5key 直接搜索一下

随便找一个 md5key 右键跳转到声明

问了一下 ai 这是啥

就是要搜索,记得勾选上资源

XehGyeyrVgOV4P8Uf70REVpIw3iVNwNs

检材二(电脑)

先用服务器第二题给的密码解压一下

1. 检材2中,windows账户Web King的登录密码是

135790

2. 检材2中,除检材1以外,还远程连接过哪个IP地址?并用该地址解压检材3

看远程连接工具 xshell

第一个 172.16.80.128

3. 检材2中,powershell中输入的最后一条命令是

ipconfig

4. 检材2中,下载的涉案网站源代码文件名为

能看到有三个,不确定是哪个.

但是ZTuoExchange_framework-master.zip这个东西和前面识别的二维码下载的东西是几乎一样的,所以就可以确定是这个

5. 检材2中,网站管理后台root账号的密码为

root

6. 检材2中,技术员使用的WSL子系统发行版本是(答案格式如下:windows 10.1)

这个仿真简单一点,仿真后终端输入wsl -l即可

Ubuntu 20.04

或者在历史 ssh 记录里面,都是Ubuntu20.04 的命令

7. 检材2中,运行的数据库服务版本号是(答案格式如下:10.1)

8.0.30

8. 检材2中,上述数据库debian-sys-maint用户的初始密码是

搜索 mysql,找路径在 etc/下的,一般这种初始密码都在这里面

ZdQfi7vaXjHZs75M

检材三(服务器)

用密码解压一下

1. 检材3服务器root账号的密码是

在电脑的 xshell 里有 ssh 记录h123456

2. 检材3中,监听33050端口的程序名(program name)为

sudo netstat -lntup | grep ':33050',刚开始过滤的时候找不到,然后想着可能在容器里,不过没有启动

systemctl start docker

docker-proxy

该端口实际上是 Docker 容器将内部的 MySQL 默认端口(3306)映射到宿主机的 33050 端口,由docker-proxy进程负责转发监听

docker-proxy

3.除MySQL外,该网站还依赖以下哪种数据库

Postgresql

Redis

Oracle

MongoDB

在火眼上可以确定,是redis 和 mongodb

4. 检材3中,MySQL数据库root账号的密码是

这个在当时的 admin-api.jar 包里面

shhl7001

5. 检材3中,MySQL数据库在容器内部的数据目录为

先进入容器里面docker exec -it mysql57(名称或者 id) /bin/bash

或者 docker exec -it mysql57 bash

然后问了一下 ai,说一般在 /var/lib/,确实是

/var/lib/mysql

6. 涉案网站调用的MySQL数据库名为

docker exec 8eda4cb0b452 mysql -uroot -pshhl7001 -e "SHOW DATABASES;"这个命令是直接查看有什么数据库,不需要进入容器或登录后再输入查询语句,很方便省去麻烦

但是问了 ai 说是这都是自带的数据库

看了其他师傅的 wp,才知道可以直接从那个图片看出来

b1

spring.datasource.url=jdbc:mysql://172.16.80.128:33050/b1?characterEncoding=utf-8

在 JDBC URL 中,//后面跟着 IP,端口 33050后面紧跟的 b1 就是你的数据库名称(Database Name)

7. 勒索者在数据库中修改了多少个用户的手机号?(答案填写阿拉伯数字,如“15”)

可以这么连数据库

然后show VARIABLES like "%log%"查看 MySQL 中所有与“日志”相关的设置

找到 general_log

只要general_log处于开启状态(ON)mysql中所有操作都会被保存在general_log

可以看到是开启的,然后日志位置也有了/var/lib/mysql/8eda4cb0b452.log

导出日志到容器外面/web 下

docker cp 8eda4cb0b452:/var/lib/mysql/8eda4cb0b452.log /web

然后查看并过滤一下 update 字符串

cat /web/8eda4cb0b452.log | grep -i "update"

-i 是会略大小写

可以看到是三个

8. 勒索者在数据库中删除的用户数量为(答案填写阿拉伯数字,如“15”)

跟上一题一样的思路不过过滤一下 delete,有 28 个

9. 还原被破坏的数据库,分析除技术员以外,还有哪个IP地址登录过管理后台网站?用该地址解压检材4

之前连接过数据库,发现并没有 b1

这个直接在检材二中火眼分析出来的 b1 看 172.16.80.197

10. 还原全部被删改数据,用户id为500的注册会员的HT币钱包地址为

直接翻数据库就行 cee631121c2ec9232f3a2f028ad5c89b

11. 还原全部被删改数据,共有多少名用户的会员等级为'LV3'(答案填写阿拉伯数字,如“15”)

可以看到 member 这个表里面有等级,但并不好统计

可以用火眼的数据库分析工具,点这个数据库分析

然后要填写路径

直接搜索 b1.db 没结果,那就是保存在文件夹里面了。

直接搜索 mysql,点最多的那一个

就是这个 b1

右键文件文件管理资源器打开,复路径,或者复制粘贴到桌面

12. 还原全部被删改数据,哪些用户ID没有充值记录(答案填写阿拉伯数字,多个ID以逗号分隔,如“15,16,17”)

318,989

13. 还原全部被删改数据,2022年10月17日总计产生多少笔交易记录?(答案填写阿拉伯数字,如“15”)

14. 还原全部被删改数据,该网站中充值的USDT总额为(答案填写阿拉伯数字,如“15”)

检材四

将解压出来的文件直接用解压软件打开

可以看到一个 vmdk 文件,解压放到火眼里面分析

1. 检材4中,嫌疑人使用的安卓模拟器软件名称是

这个不知道可以直接都 npbk 文件,是夜神模拟器的备份文件,之前做题遇到过

夜神模拟器

2. 检材4中,“老板”的阿里云账号是

vx 里面

forensixtech1

3. 检材4中安装的VPN工具的软件名称是

应该是这个

4. 检材4中,上述VPN工具中记录的节点IP是

38.68.135.18

5. 检材4中,录屏软件安装时间为(格式2021/07/19 11:50:27)

2022/10/19 10:50:27

6. 检材4中,上述录屏软件中名为“s_20221019105129”的录像,在模拟器存储中对应的原始文件名为

复制包名com.jiadi.luping 搜索

依旧选择 data 目录下的,数据多的

然后在数据库中找到了

0c2f5dd4a9bc6f34873fb3c0ee9b762b98e8c46626410be7191b11710117a12d

7. 检材4中,上述录屏软件登录的手机号是

见上题18645091802

8. 检材4中,发送勒索邮件的邮箱地址为

这个哈士奇skterran@163.com

然后在 vx 聊天记录,可以知道这个人是灰色信仰。

检材 2 便是其电脑

综合分析

1. 分析加密程序,编译该加密程序使用的语言是

在检材 2 寻找加密程序,直接搜索 encrypt,应该是这个

然后看到是分区十,找一下有没有被加密的

先右键资源管理器,托给 die 分析

Python

2. 分析加密程序,它会加密哪些扩展名的文件?

从上一题可以看出来是 pyinstaller 打包,需要解包反编译

参考这个博客https://forensics.xidian.edu.cn/wiki/writeups/ChanganCup2022/#41

解包:被解包程序与pyinstxtractor.py 在同一目录

反编译:终端 pip install uncomply6

反编译结果,xls,docx,jpg,txt

jpg

png

zip

mp4

rar

7z

xls

docx

txt

mp3

3. 分析加密程序,是通过什么算法对文件进行加密的?

xor(异或)

4. 分析加密程序,其使用的非对称加密方式公钥后5位为?

公钥u+w==

5. 被加密文档中,FLAG1的值是(FLAG为8位字符串,如“FLAG9:QWERT123”)

把decrypt_file 放入 die 中,跟前面的一样

python3 pyinstxtractor.py decrypt_file.exe(解包)

uncompyle6 decrypt_file_1.pyc > 666(随意,生成在同目录).py(反编译)

可以看到密码是 4008003721

双击运行 decrypt_file,输入密码 4008003721,然后会自动解密同目录的数据下载地址.docx_encrypted

注意数据下载地址.docx_encrypted 必须在同目录

打开解密的文件是这个,拿到 flag1

TREFWGFS

6. 恶意APK程序的包名为

https://pan.forensix.cn/f/c45ca511c7f2469090ad/?dl=1

这个是检材一的 apk 下载地址,已经失效了。

本来应该可以下载出来的,然后直接导入雷电 app,自动分析出来包名

cn.forensix.changancup

7. APK调用的权限包括

这个的话,雷电 app 也是自动会分析出来的,完全不需要动脑

READ_EXTERNAL_STORAGE

WRITE_EXTERNAL_STORAGE

SEND_SMS

WRITE_CONTACTS

8. 解锁第一关所使用的FLAG2值为(FLAG为8位字符串,如需在apk中输入FLAG,请输入完整内容,如输入"FLAG9:QWERT123")

这个的话,肯定是要用 jadx 分析的。

然后看其他师傅的 wp,说是有壳,不过雷电 app 可以一键脱壳,也就形同虚设了

然后全局搜索 flag,但其实雷电 app 自带会有一个展示可疑字符串,可以看到enctypt,flag等等字段

看师傅们的 wp

flag2 几乎明文

这里有个明显的对比,那么 flag2 就是MATSFRKG

9. 解锁第二关所使用的FLAG3值为(FLAG为8位字符串,如需在apk中输入FLAG,请输入完整内容,如输入"FLAG9:QWERT123")

2022长安杯wp - WXjzc - 博客园

TDQ2UWP9

9.10 题有点难,我这里给出大佬的 wp,自己就先不复现了。

10. 解锁第三关所需的KEY值由ASCII可显示字符组成,请分析获取该KEY值

2022长安杯wp - WXjzc - 博客园

a_asd./1imc2)dd1234]_+=+

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:33:20

5分钟本地提取视频硬字幕:Video-subtitle-extractor完整指南

5分钟本地提取视频硬字幕:Video-subtitle-extractor完整指南 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字…

作者头像 李华
网站建设 2026/6/10 8:26:14

BiliVideoDown:B站视频下载,一个桌面应用就够了

文章目录BiliVideoDown:B站视频下载,一个桌面应用就够了1、 这个工具怎么用2、 B 站视频下载的常见方案3、 项目结构与技术细节4、 适合哪些人用BiliVideoDown:B站视频下载,一个桌面应用就够了 bilivideo_down 由 kangpeiqin 开发…

作者头像 李华
网站建设 2026/6/10 8:24:07

光伏电站多中心数据采集传输系统方案

随着分布式光伏装机规模的爆发式增长,电站管理正面临“数量多、分布散、品牌杂、数据乱”的复杂局面。一方面,企业管理人员需要实时掌握分散在不同地域的逆变器运行状态;另一方面,电网调度部门也要求对分布式光伏实现“可观、可测…

作者头像 李华
网站建设 2026/6/10 8:20:59

TinyVue Tree树形控件完全指南

TinyVue Tree 树形控件完全指南:层级数据展示的瑞士军刀 本文基于 OpenTiny TinyVue 官方 API 与示例整理,组件包:opentiny/vue 如果你做过后台管理系统,一定见过这种场景:左侧一棵目录树,右侧一堆表格&…

作者头像 李华
网站建设 2026/6/10 8:12:59

第7章:CesiumJS 从入门到精通⑦:时间驱动可视化 — Property 机制、动态材质与时钟系统

🚀 专栏连载提醒:本文是 《CesiumJS 从入门到精通》 系列第 7 篇。如果这是你第一次读到本专栏,建议从第 1 章「Hello Cesium」开始,逐步建立完整知识体系。 写在前面 在上一章中,我们学习了如何使用 Entity API 快速地在三维地球表面添加点、线、面、模型等图形元素。你…

作者头像 李华
网站建设 2026/6/10 8:08:19

Python 本地 RAG 实战 | Ollama+ChromaDB 实现 PDF 离线智能问答

标签:Python、RAG、大模型、Ollama、ChromaDB、本地知识库 一、项目简介 检索增强生成(RAG)是当前大模型落地应用最主流的方案。本项目全程本地离线运行,无需调用任何云端 API,不受 Token 额度限制,同时能…

作者头像 李华