检材:https://pan.baidu.com/s/1ibOdxyCWeC5x0DQKjwcz7w?pwd=vg6g
目录
- 手机取证
- 1、627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是?(答案参考格式:1920×1080)
- 2、姜总的快递单号是多少?(答案参考格式:abcABC123)
- 程序分析
- 网站取证
- 1、请从网站源码中找出木马文件,并提交木马连接的密码。(答案参考格式:abcABC123)
- 2、请提交数据库连接的明文密码。(答案参考格式:abcABC123)
- 3、请提交数据库金额加密混淆使用的盐值。(答案参考格式:abcABC123)
- 4、请计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45,保留小数点后两位)
手机取证
1、627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是?(答案参考格式:1920×1080)
注意:中间为乘号×,不是字母x
解压压缩包,发现有一个苹果测试 查看.exe
,直接打开
直接搜索即可
下载下来,查看其属性
360x360
2、姜总的快递单号是多少?(答案参考格式:abcABC123)
搜索“单号”
搜索“姜总”也一样可以
SF1142358694796
程序分析
使用jadx打开EXEC.apk
文件
1、现已获取某个APP程序,请您对以下问题进行分析解答。本程序包名是?(答案参考格式:abc.xx.de)
查看package值
exec.azj.kny.d.c
2、本程序的入口是?(答案参考格式:abc.xx.de)
看MAIN
扩展:
主函数名就是
android:name="com.kmcjrz.bsesai.newActivity"
前两题还有其他方法解:
使用在线网站
https://mogua.co/
minmtta.hemjcbm.ahibyws.MainActivity
3、本程序的服务器地址的密文是?(答案参考格式:abcABC123)
在MainActivity类里
aHR0cHM6Ly9hbnNqay5lY3hlaW8ueHl6
用base64解码,确实是一个地址
aHR0cHM6Ly9hbnNqay5lY3hlaW8ueHl6
4、本程序实现安全检测的类的名称是?(答案参考格式:abcABC123)
把程序拖进模拟器里面运行会出现弹窗
用弹窗的内容进行全局搜索
调用了d.a.a.c类,去到该位置对其进行分析
用getRuntime检测系统运行环境
a
网站取证
据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。
1、请从网站源码中找出木马文件,并提交木马连接的密码。(答案参考格式:abcABC123)
使用D盾扫描文件
打开该文件进行查看
看到了密码
lanmaobei666
2、请提交数据库连接的明文密码。(答案参考格式:abcABC123)
这题主要是找文件
也可以猜测,数据库连接的文件名以database等关键词命名
在该路径下找到\WWW\application
发现密码是my_encrypt()的返回值
找到这个函数,添加代码输出返回的密码
<?php
function my_encrypt(){
$str = 'P3LMJ4uCbkFJ/RarywrCvA==';
$str = str_replace(array("/r/n", "/r", "/n"), "", $str);
$key = 'PanGuShi';
$iv = substr(sha1($key),0,16);
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,"",MCRYPT_MODE_CBC,"");
mcrypt_generic_init($td, "PanGuShi", $iv);
$decode = base64_decode($str);
$dencrypted = mdecrypt_generic($td, $decode);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$dencrypted = trim($dencrypted);
return $dencrypted;
}
用在线网站来跑
KBT123
3、请提交数据库金额加密混淆使用的盐值。(答案参考格式:abcABC123)
先找到金额处理的地方,搜索关键字money
,定位到/WWW/Application/admin/controller/chanelorder.php
很明显就是在这个页面处理的金额,在当前页面搜索关键字money
,定位到encrypt
函数
盐值就在函数里
jyzg123456
4、请计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45,保留小数点后两位)
直接分析sql文件
查看提取汇率和日期
汇率在info_bargain
表
查看转账
转账信息在tab_channel_order_list
表
查看用户
用户在tab_user
表
王子豪和张宝的id分别 5,3
在交易记录的倒数第三位和倒数第二位分别为收款人和付款人 所以匹配含有数据(5,3)的交易记录 再将每天GG币的数量 脱盐解密 乘上汇率 汇总就是转账的RMB
解题脚本:
import base64
import hashlib
def decrypt(data):
key = hashlib.md5()
key.update(b'jyzg123456')
key = key.hexdigest()
x = 0
data = base64.b64decode(data)
Len = len(data)
l = len(key)
char = ""
str = ""
for i in range(Len):
if(x==l):
x = 0
char+=key[x:x+1]
x+=1
i =0
for i in range(Len):
if(ord(data[i:i+1])<ord(char[i:i+1])):
str+=chr(ord(data[i:i+1]+256)-ord(char[i:i+1]))
else:
str+=chr(ord(data[i:i+1])-ord(char[i:i+1]))
return str
data = ""
huilv = [0,0,0.04,0.06,0.05,0.07,0.10,0.15,0.17,0.23,0.22,0.25,0.29,0.20,0.28,0.33,0.35,0.35,0.37]
money = 0
Money = 0
with open("./flag.txt","r",encoding='utf-8') as file:
data = file.readlines()
for line in data:
if(int(line.split(',')[5])==5 and int(line.split(',')[6])==3):
Data = int(line.split(',')[4][10:12])
money = line.split(',')[7][2:10]
tmpmoney = huilv[Data]*int(decrypt(money))
Money += tmpmoney
print(Data,huilv[Data],decrypt(money),tmpmoney,line.split(',')[5],line.split(',')[6])
print("最后金额",Money)
15758353.76