25龙信年度技术考核

终于回来了,也是写了几天,被恢复数据库一直卡着,虽然还没整出来,但是具体步骤和思路已经知道了
借鉴wp:https://www.cnblogs.com/WXjzc/p/18673534
ps:WXjzc佬,永远是手搓的神

检材密码

MjAyNeWKoOayuQ==

题目

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

提到qq号,第一想法是找qq的数据库,但在文件目录下并没有找到,联系后面提到微信 可能qq号会存在微信里。机主的用户信息存储在<font style="color:rgba(0, 0, 0, 0.87);">/shared_prefs/com.tencent.mm_preferences.xml</font>,在xml里发现绑定的qq号

答案:1203494553

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

根据上一题就可以得到

答案:liudaren0507

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

这里就需要结合微信数据库,找到数据库<font style="color:rgba(0, 0, 0, 0.87);">/data/com.tencent.mm/MicroMsg/bde1f4374a3f8c788cd16ad1fea0458f/EnMicroMsg.db</font>,微信数据库都是需要解密的,复习一下形成密钥的规则

微信数据库解密
1.获取手机IMEI,如果微信获取不到IMEI,就用1234567890ABCDEF代替
2.获取uin,uin可以在sp文件目录里找到,如目录下的com.tencent.mm_preferences_redesign.xml或者auth_info_key_prefs.xml
3.将IMEI+uin进行md5的32位加密(小写),取加密结果的前七位作为密钥,使用sqlcipher进行解密

这里的IMEI没有找到用1234567890ABCDEF替代,uin在上一题里就可以找到

MD5加密

用密钥解密数据库

在rcontact表里发现用户信息,mysql语句进行筛选

SELECT * FROM rcontact
WHERE username IS NOT NULL
AND username != ''
AND username NOT LIKE 'gh%'
AND type BETWEEN 1 AND 3;

再排除微信团队和机主自己

答案:15

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

机主微信数据库message表的聊天记录里提到后续在用友联系

找到用友数据库对应的位置

在msghistory表里看到聊天记录,但是聊天记录中提到了两个银行卡号

再通过id到sender_nick表里找对应的发送者,yong888在微信聊天记录里提到是勇哥,另一个确定为机主

答案:6231276371853671344

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

接上题的聊天记录

答案:19371263751

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

接第四题

答案:6321456319275323911

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

火眼要么就仿真ipconfig/all

答案:00-0C-29-C5-3C-F8

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

指令net user Administrator

答案:2023/06/17 20:35:42

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

在路径<font style="color:rgba(0, 0, 0, 0.87);">/Users/Administrator/Downloads/phpStudy_64</font>下找到虚拟硬盘MM.vhd,打开就可以找到数据文件夹,根据要求让gpt写脚本了

import openpyxl

# 文件路径列表,包含 10 个文件
file_paths = [f'fake_data_1_prefix_{i}.xlsx' for i in range(1, 11)]  # 生成文件名列表

# 初始化统计变量
total_count = 0  # 总统计变量,存储符合条件的总人数

# 遍历每个文件
for file_path in file_paths:
    try:
        # 加载工作簿
        workbook = openpyxl.load_workbook(file_path)

        # 选择第一个工作表
        sheet = workbook.active

        # 统计当前文件中符合条件的人数
        count = 0

        # 假设姓名在第一列(列 A),从第二行开始(第一行是标题)
        for row in sheet.iter_rows(min_row=2, max_col=1, values_only=True):
            name = row[0]  # 获取第一列(姓名)数据

            if name and len(name) == 2:  # 姓名长度为 2
                count += 1

        # 输出当前文件的统计结果
        print(f"{file_path} 中姓名为两个字的人数是: {count}")
        total_count += count  # 累加到总计

    except Exception as e:
        print(f"处理文件 {file_path} 时出错: {e}")

# 输出所有文件的总计结果
print(f"所有文件中姓名为两个字的总人数是: {total_count}")

答案:908

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

import openpyxl

# 文件路径列表,包含 10 个文件
file_paths = [f'fake_data_1_prefix_{i}.xlsx' for i in range(1, 11)]  # 生成文件名列表

# 初始化统计变量
total_count = 0  # 总统计变量,存储符合条件的总人数

# 遍历每个文件
for file_path in file_paths:
    try:
        # 加载工作簿
        workbook = openpyxl.load_workbook(file_path)

        # 选择第一个工作表
        sheet = workbook.active

        # 统计当前文件中符合条件的人数
        count = 0

        # 假设身份证号在第三列(列 C),从第二行开始(第一行是标题)
        for row in sheet.iter_rows(min_row=2, max_col=3, values_only=True):
            id_number = row[2]  # 获取第三列(身份证号)数据
            
            if id_number and len(id_number) == 18:  # 身份证号应该有18位
                # 提取第十七位数字
                digit_17 = int(id_number[16])  # 第十七位在索引16位置
               
                if digit_17 % 2 != 0:  # 判断第十七位是否为奇数
                    count += 1

        # 输出当前文件的统计结果
        print(f"{file_path} 中第十七位是奇数的人数是: {count}")
        total_count += count  # 累加到总计

    except Exception as e:
        print(f"处理文件 {file_path} 时出错: {e}")

# 输出所有文件的总计结果
print(f"所有文件中第十七位是奇数的总人数是: {total_count}")

答案:479

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

import openpyxl

# 文件路径列表,包含 10 个文件
file_paths = [f'fake_data_1_prefix_{i}.xlsx' for i in range(1, 11)]  # 生成文件名列表

# 初始化统计变量
total_count = 0  # 总统计变量,存储所有文件中姓陈的总人数

# 遍历每个文件
for file_path in file_paths:
    try:
        # 加载工作簿
        workbook = openpyxl.load_workbook(file_path)

        # 选择第一个工作表
        sheet = workbook.active

        # 统计当前文件中姓陈的人数
        count = 0

        # 假设姓名在第一列(列 A),从第二行开始(第一行是标题)
        for row in sheet.iter_rows(min_row=2, max_col=1, values_only=True):
            name = row[0]  # 获取姓名列的数据
            if name and name[0] == '陈':  # 检查姓名的第一个字是否为"陈"
                count += 1

        # 输出当前文件的统计结果
        print(f"{file_path} 中姓陈的人数是: {count}")
        total_count += count  # 累加到总计

    except Exception as e:
        print(f"处理文件 {file_path} 时出错: {e}")

# 输出所有文件的总计结果
print(f"所有文件中姓陈的人数总和是: {total_count}")

答案:106

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

import openpyxl

# 文件路径列表,包含 10 个文件
file_paths = [f'fake_data_1_prefix_{i}.xlsx' for i in range(1, 11)]  # 生成文件名列表

# 初始化统计变量
total_count = 0  # 总统计变量,存储符合年份条件的总人数

# 遍历每个文件
for file_path in file_paths:
    try:
        # 加载工作簿
        workbook = openpyxl.load_workbook(file_path)

        # 选择第一个工作表
        sheet = workbook.active

        # 统计当前文件中符合条件的人数
        count = 0

        # 假设身份证号在第三列(列 C),从第二行开始(第一行是标题)
        for row in sheet.iter_rows(min_row=2, max_col=3, values_only=True):
            id_number = row[2]  # 获取第三列(身份证号)数据

            if id_number and len(id_number) == 18:  # 身份证号应该有18位
                year = int(id_number[6:10])  # 提取身份证号中的年份(第7到10位)

                if 1950 <= year <= 1970:  # 检查年份是否在1950到1970之间
                    count += 1

        # 输出当前文件的统计结果
        print(f"{file_path} 中年份在1950到1970之间的人数是: {count}")
        total_count += count  # 累加到总计

    except Exception as e:
        print(f"处理文件 {file_path} 时出错: {e}")

# 输出所有文件的总计结果
print(f"所有文件中年份在1950到1970之间的总人数是: {total_count}")

答案:419

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

答案:Z

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

要将z盘给连接上,先启动服务器,确定服务器的ip,资源管理器找到网络输入\服务器ip\samba,输入密码就可以连上了

在windows凭据里可以看到用户

启动服务器,发现有smb服务,修改一下密码就可以在windows上连接成功了

进去之后打开foxmail

答案:kkkk

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

答案:15

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

答案:我是卧龙

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

用Xdecrypt.exe直接获取也可以,链接:https://github.com/plexming/Xdecrypt

答案:123456

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

答案:longxin

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

可以直接找到sql文件,应该是直接留了备份,路径:PC.dd/Win10EntLTSC X64/Users/Administrator/AppData/Local/Temp/vmware-Administrator/VMwareDnD/d2b661d3/

筛选is_enable=1的支付方式即可

答案:4

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

答案:/adminnxp5dt.php?s=admin/logininfo.html

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

数据库sxo_goods里有对应的信息,因为有is_shelves,将筛选值为1的

答案:29

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

答案:database.php

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

答案:2025-01-08 22:03:50

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

答案:22

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

/www/backup目录下有网站备份文件,导出

文件打开错误,查看发现是zip的文件头,改为gz得到文件头

答案:4dd523

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

根据27题用火眼也可以找到对应的数据库

答案:pt

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

这个在/var/lib/mysql有数据库记录,根据ibd和frm文件进行恢复数据库即可,具体看这个视频,导出表结构指令一直没反应

https://www.bilibili.com/video/BV1Sh4y1y7X6/?spm_id_from=333.337.search-card.all.click&vd_source=eea539fcd270da2c0e8fb26fbf1d3763

实际值有应该要减去删除掉的

答案:7

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

直接整个计算哈希值,挨个对比即可

答案: HDRSample.mkv

posted @ 2025-01-17 22:43  Desk10086  阅读(72)  评论(0)    收藏  举报