# CTF 第二题
模拟登录
packagename:com.tencent.testvuln
# 静态分析
直接打开 mainactivity 看到,这里点击了登录按钮后,直接通过序列化 (intent) 传到了下一个页面
点进去发现,其实就是对输入的这两个玩意做了个加密
跟进去发现是 native 方法
找到对应的方法,可以看到,这里估计就是采用了 aes 的加密
编写 aes 脚本
#coding:utf-8 | |
import base64 | |
from Crypto.Cipher import AES | |
# VEIzd/V2UPYNdn/bxH3Xig== | |
# 9YuQ2dk8CSaCe7DTAmaqAA== | |
cipher = base64.b64decode('VEIzd/V2UPYNdn/bxH3Xig==') | |
cipher2 = base64.b64decode('9YuQ2dk8CSaCe7DTAmaqAA==') | |
key = b'thisisatestkey==' | |
aes = AES.new(key, AES.MODE_ECB) | |
msg = aes.decrypt(cipher) | |
msg2 = aes.decrypt(cipher2) | |
print(msg.decode('utf-8')) | |
print(msg2.decode('utf-8')) | |
# aimagetencent | |
# Cas3_0f_A_CAK3 |
然后直接用这个提交,发现错误,估计存在啥不清楚的地方,再看题目名称,app 漏洞第二题,直接搜索 Encrpto, 发现 FileDataActivity 中有个解密操作,然后用 aes 脚本测试,拿到结果,提交成功。