猿人学比赛第五题-双向认证分享
## 前言这次和紫星大佬组队,获得了猿人学-Android端爬虫比赛的第一名。
在此先说一句:紫星大佬牛逼!
比赛链接:https://appmatch.yuanrenxue.com/
## 获取key
第五题是双向认证,拿出珍藏的脚本tracer-keystore.js试试。
```
function hookKeystoreGetInstance() {
var keyStoreGetInstance = Java.use('java.security.KeyStore')['getInstance'].overload("java.lang.String");
keyStoreGetInstance.implementation = function (type) {
//console.log(" Keystore.getInstance(java.lang.String )")
console.log(": type: " + type);
var tmp = this.getInstance(type);
keystoreList.push(tmp); // Collect keystore objects to allow dump them later using ListAliasesRuntime()
return tmp;
}
}
```
下载地址:https://github.com/FSecureLABS/android-keystore-audit/blob/master/frida-scripts/tracer-keystore.js
打开app,点击第五题,就出来bks证书的密码了。
## bks到p12的转换
接着打开神器keystore-explorer,进行bks到p12的转换。
下载链接:https://keystore-explorer.org/downloads.html
打开clientCA.bks
输入前面hook到的密码
转成p12
导出证书
## 抓包
效仿以前抓soul包的方式,将较早之前生成的p12证书导入charles。
发现提示密码错误。
【PS:就在我还在对密码错误怀疑人生的时候,紫星巨佬说到:为啥一定要抓包?然后他就搞出结果了。。】
那换种思路,用神器r0capture试试。
下载链接:https://github.com/r0ysue/r0capture
运行神器后,请求流程自吐了出来。
POST请求
url是*.*.*.*:*/api/app5
Content-Type是application/x-www-form-urlencoded
User-Agent是okhttp/3.14.9
data是page=1
## 脚本书写
带上之前转化成功的p12证书,构造刚刚得到的请求,结果就呼之欲出了。
```
import requests_pkcs12
def get_page(page):
url = 'https://*.*.*.*:*/api/app5'
hd = {
'Content-Type':'application/x-www-form-urlencoded',
'user-agent': 'okhttp/3.14.9'
}
data = {
'page': page
}
resp = requests_pkcs12.post(url,
headers=hd, data=data, pkcs12_filename='1.p12',
pkcs12_password='**********', verify=False)
print(resp.json())
get_page(1)
```
答案呼之欲出了。
队友紫星大佬的52pojie:https://www.52pojie.cn/home.php?mod=space&uid=358970
紫星大佬的github:https://github.com/zixing131
本人收藏了很多优秀文章:https://github.com/darbra/sperm
本人还有些可复现的案例:https://github.com/darbra/sign
darbra 发表于 2022-5-17 21:29
不知道啊 charles 小黄鸟都不行 但用脚本行
这个问题很奇怪 貌似是charles的问题 估计是跟openssl 生成的版本有关系 menghen 发表于 2022-5-17 22:30
这个问题很奇怪 貌似是charles的问题 估计是跟openssl 生成的版本有关系
小黄鸟 也不行啊大佬 本帖最后由 正己 于 2022-5-17 17:36 编辑
darbra老师带带吧!
https://s2.loli.net/2022/01/28/Nj69AGSKrYltpcU.jpg
http://pic.rmb.bdstatic.com/bjh/77017fda06b78950e1fb8265a90a50cb.png
http://pic.rmb.bdstatic.com/bjh/703625a5bdb22c0fb07c81e1396eb218.png 正己 发表于 2022-5-17 17:31
darbra老师带带吧!
正己大佬带带我 所以密码为啥错误 Drawlone 发表于 2022-5-17 20:55
所以密码为啥错误
不知道啊 charles 小黄鸟都不行 但用脚本行 darbra 发表于 2022-5-17 23:21
小黄鸟 也不行啊大佬
试试Burp呢 大佬666啊 带带DD呀