2023PACTFwp

前言

第一次打某公司的CTF,但由于web题都出得比较抽象,所以我做完web就去做其他方向了。不过后面还是遇到了一道misc和一道安卓题看起来比较好玩,这里就看这道misc吧,web题就不写了。

下线小破站

打开网站,发现有一段流量包和一个backup.zip

image-20231003162257347把两个东西都下载下来,发现backup.zip是加密的,然后开始分析capture.pcap,首先只看状态🐎为200的http请求,http.response.code==200

image-20231003162841634

一下子就只剩5条请求了,追踪http流,发现了压缩包:

image-20231003163010554

账号密码:

image-20231003163033658

混效过的js:

image-20231003163105987

把这一段拷贝出来用docker搭一个一样的网站:

image-20231003163806089

打开F12遇上反调试:

image-20231003164234795

从右边的Call Stack找到调用栈,找到这一行代码和反调试有关,直接删了它:

image-20231003164839056

好了,再次访问的时候反调试就已经去掉了,可以愉快地开始调试了:

image-20231003165525532

看到iv,位数还是16位就可以猜到是AES,把key和iv打印出来

image-20231003165656047

用python解AES得到压缩包密码,解压得flag:

1
2
3
4
5
6
7
8
9
import base64
from Crypto.Cipher import AES

key = b"sw@M6A9sUq6e#Yg$"
iv = b"1234567890123456"
aes = AES.new(key,AES.MODE_CBC,iv)
enced = base64.b64decode("u1+Eby4bwXGlVOEAzCW/GsNE14iHeMYtpxzRUA199zg=")
data = aes.decrypt(enced)
print(data)
updatedupdated2023-10-032023-10-03