龙信年终技术考核wp

news/2025/3/21 17:14:30/文章来源:https://www.cnblogs.com/zzpu213/p/18785454

龙信年终技术考核wp

容器密码:MjAyNeWKoOayuQ==

假期里打的第一场取证比赛,一开始名次还挺高,后面服务器不太会做了,排名直接狂掉,获奖的名额太少了。其实上学期打的第一场取证也是龙信办的龙信杯,真的好难,还是这个友好。

1. 分析手机备份文件,该机主的QQ号为?(标准格式:123)

1203494553

手机备份文件里面内容比较少,只能分析出一点点内容。

所以直接看微信,因为微信可以绑定qq号,这里可以看见关联了一个qq账号image-20250320191636521

2. 分析手机备份文件,该机主的微信号为?(标准格式:abcdefg)

liudaren0507

直接就是用户id这个,后面那个是微信为每个用户分配的内部ip,就是如果创建了一个新微信,它的微信号就是这个内部id。但是这里显然是前面这个用户idimage-20250320192307887

3. 请问该手机机主微信共有_____个现有好友?(标准格式:12)

15

现在回来复现才发现比赛的时候这道题做错了,好友列表里面16个用户,包括机主,所以是15个好友。image-20250320192508660

4. 请分析机主的银行卡卡号是多少?(标准格式:按照实际值填写)

6231276371853671344

手机检材里面没有多少信息了,直接看看没有被分析出来的内容,发现有个可疑的包,应该就是勇哥发过来的那个apk了image-20250320193018281

找到数据库,稍微分析一下聊天记录,发现第一个就是机主的银行卡号image-20250320193159406

5. 请分析出幕后老大王子勇的最新手机号码是多少?(标准格式:1234567)

19371263751

接上题最后一张图,说了最新的手机号

6. 请分析幕后老大的可疑的银行卡卡号是多少?(标准格式:按照实际值填写)

6321456319275323911

同样的位置,就是上面手机号的上一行聊天记录

7. 请问计算机的网卡MAC地址是多少 。(标准格式:00-0S-25-C6-E3-5F)

00-0C-29-C5-3C-F8

image-20250320193517814

8. 请问计算机管理员用户的设置密码时间是什么时候 。(标准格式:1970/06/17 23:25:41)

2023/06/17 20:35:42

image-20250320193616711

9.请分析数据文件夹中的表格文件共有有多少个两个字的姓名人数。(标准格式:10)

908

直接ai跑脚本然后就行了,下面几题同理

import pandas as pd
import osdef count_two_character_names(excel_files):two_character_names_count = 0for file in excel_files:try:# 验证文件是否存在if not os.path.exists(file):print(f"警告: 文件 {file} 不存在")continue# 读取Excel文件df = pd.read_excel(file)# 检查是否存在姓名列,假设列名为 '姓名'if '姓名' in df.columns:# 筛选出姓名为两个字的行two_character_names = df[df['姓名'].apply(lambda x: isinstance(x, str) and len(x) == 2)]# 统计数量two_character_names_count += len(two_character_names)else:print(f"警告: 文件 {file} 中不存在 '姓名' 列")except Exception as e:print(f"错误: 无法读取文件 {file},错误信息: {e}")print(f"当前工作目录: {os.getcwd()}")return two_character_names_count# 获取脚本所在目录
script_directory = os.path.dirname(os.path.abspath(__file__))# 构造文件的绝对路径
excel_files = [os.path.join(script_directory, 'fake_data_1_prefix_1.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_2.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_3.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_4.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_5.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_6.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_7.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_8.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_9.xlsx'),os.path.join(script_directory, 'fake_data_1_prefix_10.xlsx')
]# 打印文件路径以确认
for file in excel_files:print(f"文件路径: {file}")# 统计并打印结果
result = count_two_character_names(excel_files)
print(f"十个Excel文件中姓名为两个字的总数: {result}")

10.请分析数据文件夹中表格共有表格共有多少个男性。(标准格式:10)

479

import pandas as pd
import os
import re# 文件前缀和后缀
file_prefix = 'fake_data_1_prefix_'
file_extension = '.xlsx'# 男性计数
total_male_count = 0# 遍历所有文件
for i in range(1, 11):  # 假设文件名从 1 到 10file_name = f"{file_prefix}{i}{file_extension}"print(f"正在检查文件: {file_name}")  # 调试信息if os.path.exists(file_name):try:# 读取 Excel 文件df = pd.read_excel(file_name)# 检查是否存在身份证号列if '身份证号' not in df.columns:print(f"警告: 文件 {file_name} 中缺少身份证号列")continue# 确保身份证号列中的所有值都是字符串df['身份证号'] = df['身份证号'].astype(str)# 定义一个函数来根据身份证号判断性别def get_gender_from_id(id_number):if len(id_number) == 18:  # 确保是18位身份证号gender_digit = int(id_number[16])  # 第17位return '男' if gender_digit % 2 != 0 else '女'return None# 应用函数到身份证号列,创建性别列df['性别'] = df['身份证号'].apply(get_gender_from_id)# 统计男性数量male_count = (df['性别'] == '男').sum()print(f"文件 {file_name} 中男性数量为: {male_count}")# 累加男性数量total_male_count += male_countexcept Exception as e:print(f"错误: 在处理文件 {file_name} 时发生错误: {e}")else:print(f"警告: 文件 {file_name} 不存在")# 打印总男性数量
print(f"数据文件夹中所有表格的男性总数为: {total_male_count}")

11.请分析数据文件夹中表格共有多少姓陈的人。(标准格式:10)

106

import pandas as pd# 初始化计数器
chen_count = 0# 假设表格文件名是 'table1.xlsx', 'table2.xlsx', ..., 'table10.xlsx'
for i in range(1, 11):file_name = f'fake_data_1_prefix_{i}.xlsx'# 读取Excel文件try:df = pd.read_excel(file_name)# 检查是否存在“姓名”列if '姓名' in df.columns:# 统计姓“陈”的人数chen_count += df[df['姓名'].str.startswith('陈')].shape[0]else:print(f"警告:文件 {file_name} 中没有“姓名”列。")except FileNotFoundError:print(f"警告:文件 {file_name} 未找到。")except Exception as e:print(f"错误:读取文件 {file_name} 时出错:{e}")# 输出统计结果
print(f"总共有 {chen_count} 个姓陈的人。")

12.请分析数据文件夹中表格共有1950年至1970年的人数是多少。(标准格式:10)

419

import pandas as pd
import os
import refile_prefix = 'fake_data_1_prefix_'
file_extension = '.xlsx'
total_count = 0  # 用于统计1950年至1970年出生的总人数# 正则表达式用于从18位身份证号中提取出生年份
birth_year_pattern = re.compile(r'(\d{6})(\d{8})(\d{3}[\dXx])')for i in range(1, 11):file_name = f"{file_prefix}{i}{file_extension}"if os.path.exists(file_name):try:df = pd.read_excel(file_name)# 检查身份证号列是否存在if '身份证号' not in df.columns:print(f"警告: 文件 {file_name} 中缺少身份证号列")continue# 确保身份证号列中的所有值都是字符串df['身份证号'] = df['身份证号'].astype(str)# 提取出生年份def extract_birth_year(id_number):match = birth_year_pattern.match(id_number)if match:birth_date_str = match.group(2)[:4]  # 提取YYYY部分return int(birth_date_str)return Nonedf['出生年份'] = df['身份证号'].apply(extract_birth_year)# 筛选出1950年至1970年出生的记录mask = (df['出生年份'] >= 1950) & (df['出生年份'] <= 1970)# 统计符合条件的记录数total_count += mask.sum()except Exception as e:print(f"错误: 在处理文件 {file_name} 时发生错误: {e}")else:print(f"警告: 文件 {file_name} 不存在")print(f"1950年至1970年间出生的总人数为: {total_count}")

13. 请问计算机映射盘的挂载位置盘符是什么 。(标准格式:B)

Z

仿真起来直接看image-20250320195921294

14. 请问机主邮箱账号的显示名称是什么 。(标准格式:abcd)

kkkk

仿真服务器,然后发现计算机里面有网络映射,连上去,打开foxmailimage-20250320202241844

15. 请问机主邮箱的定时收取邮件是间隔多少分钟 。(标准格式:10)

15

在邮箱设置里面image-20250320202403877

16. 请问机主邮箱最近⼀次发送邮件的主题是什么 。(标准格式:按照实际值填写)

我是卧龙

image-20250320202443211

17. 请问购物网站服务器的root密码是什么 。(标准格式:按照实际值填写)

123456

image-20250321085443156

18. 请问购物网站管理后台admin用户的密码是什么 。(标准格式:按照实际值填写)

longxin

要找密码,就需要找数据库,先连上宝塔,面板里没看见有数据库,日志里可以发现是把数据库删了image-20250321091721642

所以需要去找这个数据库文件,注意到文档目录下面有一个一个G大小的js文件,结合桌面上有vc软件,推测这是加密容器,然后在服务器里面有miyao.txt文件,于是用密钥文件解密容器的方法image-20250321091309740

image-20250321091939064

恢复数据库,找到加密的密钥image-20250321092354957

找一下密码加密逻辑

image-20250321094007542

cmd5说这是需要付费的内容,这里考虑用hashcat爆破密码,理论上应该需要从少的位数慢慢爆到大的位数以及尝试多种密码组合可能,但是这里已知是知道答案复原过程,主要是了解工具使用。

hashcat.exe -m 20 -a 3 -w 4 hash.txt "?l?l?l?l?l?l?l"

-m 指定哈希类型

-a 代表攻击模式(attack mode)

-w 代表 工作负载级别(workload profile),影响计算性能: 1 -> 最低,占用最少的 CPU/GPU 资源 2 -> 适中(默认) 3 -> 高 4 -> 最大性能,但可能会导致系统卡顿 hash.txt 存放待破解的哈希值。 格式示例(如果是 MD5($salt.$pass),通常是 salt:hash 形式)

?l?l?l?l?l?l?l 掩码模式(mask attack),表示密码的格式: ?l -> 小写字母(a-z) ?u -> 大写字母(A-Z) ?d -> 数字(0-9) ?s -> 特殊字符(!@#$%^& 等) * ?a -> 所有字符(?l?u?d?s 组合) ?l?l?l?l?l?l?l 表示: 7 位的小写字母密码(例如:abcdefg, qwertyu)

image-20250321151636388

19. 该购物网站上架了几个支付方式 。(标准格式:10)

4

导入数据库,然后修改配置文件image-20250321152632217

这里卡了好一会,数据库都导入对了,但是网站起不来,发现是ip有问题,网站起来之后找后台地址,日志中翻翻就找到了,密码是上一题爆破出来的密码image-20250321160844915

找到支付方式,本来以为是五种,发现有一种没有启用image-20250321161019177

20.该购物网站管理后台的登录地址是什么 。(标准格式:/adminxx5?=admin/admin.html)

/adminnxp5dt.php?s=admin/logininfo.html

接上题

21. 该购物网站共上架多少商品 。(标准格式:10)

29

一共29个商品都是上架了的,或者在前台也能看一共的商品数量image-20250321161333737

22. 该购物网站的数据库配置的文件名是什么 。(标准格式:db.php)

database.php

前面出现过

23. 该购物网站上架的最新的商品的上架时间是什么 。(标准格式:2025-01-01 11:11:11)

2025-01-08 22:03:50

看了很多wp都说是后面那个更新时间,个人感觉不对,创建时间就是上架时间,我进入编辑之后保存了,没有进行任何修改,更新时间已经变成刚刚进行更改的时间了image-20250321161721330

24. 服务器的ssh对外端口是什么 。(标准格式:22)

22

image-20250321161837978

25. Java网站备份文件中配置文件(*.properties) 的SHA256校验值后六位是什么 。(标准格 式:全小写)

4dd523

这题我当时直接在服务器里面找到了内容,但是发现不对,应该服务器里面里面是已经起了的东西。根据川佬的博客,可以在宝塔的备份文件夹里面找到一个gz压缩文件。发现文件损坏,修改文件头,解压。还是能发现两个文件的差别的,计算文件的sha256值image-20250321164012099

26. Java网站使用的MySQL数据库名称为() 。(标准格式:按照实际值填写)

pt

image-20250321164335903

27. Java网站数据库表sys_user中的用户类型为user的用户数为() 。(标准格式:按照实际值填写)

6

火眼可以搜到这个文件image-20250321164720739

找到同目录下面还有一共ibd文件,本来还在思考如何恢复这两个文件,发现火眼里面已经把这个恢复了

image-20250321165155258

28. 请问md5值为831d75f88a50f736d3da7c929cf17580的文件名是什么 。(标准格式:按照实际值填写)

831D75F88A50F736D3DA7C929CF17580

稍微算算就出了,不知道为什么当时没有做这题image-20250321170254614

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/902546.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

规则系统|第二步 连接数据库

1.输出所有的数据库名2.问一下相关负责人这个需求放到哪个库里ssc: {ENGINE: django.db.backends.mysql, NAME: ssc, USER: star, PASSWORD: dpag5BoORZErhu4ttTju, HOST: 122.5.32.82, PORT: 19336} 3.下载dbeaver,连接相关库 4.用dbeaver手动创建需要的表,这里需要的表如下…

Excel甘特图

背景:领导让我在excel上填项目计划, 也就是分配未来的工时。有名称、开始时间、结束时间等。平时业务挺杂的, 其实没有办法准确的填写连贯的工时计划。需要稍微调整一下。甘特图比较直观, 但是MSProject又太大没装,还要收费。上网搜了一下还真有用wps office做的。 wps本身…

JMeter 一站式安装指南:跨平台详解与常见问题解析

前言 本教程为 macOS 与 Windows 用户提供 安全、高效 的 JMeter 安装方案,涵盖从基础安装到进阶配置的全流程。内容包含:✅ 双平台专属指南:针对 macOS 系统优化下载路径(附国内镜像直链),解决“身份不明开发者”警告;Windows 系统提供官方直装与快捷方式配置技巧。✅ …

基于Qt信号槽机制的AI对话工具开发——使用流式输出且支持Function Call

基于Qt信号槽机制的AI对话工具开发 在前面学习了Qt的Http请求,尝试完成了基于Qt界面调用DeepSeek的API,实现了一些基本功能,如记忆对话,流式输出等 点击这里查看 但是我发现内容多了过后代码过于冗杂,层次不清晰,于是打算重新架构一下,并记录一下开发思路 完整源码可以在…

中企出海财务合规难?交给「云+AI」来破局|SAP ERP海外实施商工博科技

2月20日,SAP全球化运营高峰论坛汇聚超1000位出海企业高管和行业专家,共同探讨中国企业在行业多样化、投资模式多元、全球布局因地制宜的全球化新趋势下面临的出海机遇与挑战。这次我们将从合规风险、供应链韧性、人才管理、IT架构、AI赋能等角度进行复盘回顾,探讨如何依托先…

乒乓球比赛

题目:乒乓球比赛(武汉大学机试真题):甲={a,b,c}、乙={x,y,z}两队进行比赛,一直a不和x比,c不和x和z比,请问所有可能的比赛安排 //应该使用全排列 列出所有的比赛结果,再输出满足要求的对局 //但还有一种取巧的方法实现 使用库函数next_Permutation(nums.begin(),nums.end(…

华为开辟的赛道,终究也只有华为敢跑起来

3月20日,华为Pura先锋盛典召开。一部被称为阔折叠的华为Pura X正式亮相。之前外界对这款新品有诸多猜想,今天终于揭开了神秘面纱:这是一部看上去不太像手机的手机,很宽很“阔”。全新形态的产品打破了人们对手机的刻板印象,也给了手机未来更多的想象。同时作为首款全面搭载…

RANSAC---从直线拟合到特征匹配去噪

Ransac全称为Random Sample Consensus,随机一致性采样。该方法是一种十分高效的数据拟合方法。我们通过最简单的拟合直线任务来了解这种方法思路,继而扩展到特征点匹配中的误点剔除问题。 (注意,RANSAC不是直接用于特征点匹配,而是一种在初步特征匹配后消除误匹配的方法)…

3.19 CW 模拟赛 赛时记录

前言 还是那几句话 冷静, 耐心, 放下, 不浮躁 不贪跟策略, 数据检验, 关键步记录 看题 \(\rm{T1}\) 逆向思维一下就是加点, 然而事实上应该比较好做 \(\rm{T2}\) 还挺有礼貌, 但是这种题放到后面一点吧 \(\rm{T3}\) 这个题可以尝试一下, 多半是最优解性质的题 \(\rm{T4}\) 更是…

buuctf re pyre 写题日记

进入文件,下载文件,文件是pyc文件,放入基本的反汇编出其源代码看样子,还是python2编写的代码。 根据代码的逻辑逆向出其解密代码,第二段算法的逆向好些,就是逆着再异或一遍,第一段代码更具取模运算的性质,因为128%128=0,所以后面相当于直接加了个0,所以逆操作就是,i…

harmony OS NEXT-TypeScript

TS基础内容 1.1 TypeScript简介TypeScript是由微软开发,是基于JavaScript的一个扩展语言 TypeScript包含了JavaScript的所有内容,即:TypeScript是JavaScript的超能 TypeScript增加了:静态类型检查、接口、泛型等很多现代开发特性,因此适合更大型的项目开发 TypeScript需要…

Unreal最佳实践——TSharedRef和Ptr的使用和坑

A:管理比较麻烦的时候用,像slate这种用得就多 A:这种东西能不用还是别用,性能肯定是低的(低不了多少),还有一个是要注意循环引用 A:写一个ptr记得在destruction里面加一个,或者endplay加一下,就能避免泄漏问题 养成习惯就行了