我已经使用Charles在我的iPhone上进行了不少MITM
次攻击。我一直渴望更好地理解的许多应用程序都很容易进行逆向工程,只需使用cURL
来模拟发送到服务器的请求。然而,其他人需要我猜测的签名使用用于生成有效载荷的散列的秘密密钥。当我反过来设计Instagram的API时,它就像这样
function GenerateSignature($data) {
return hash_hmac('sha256', $data, 'b4a23f5e39b5929e0666ac5de94c89d1618a2916');
}
$data = '{"device_id":"'.$device_id.'","guid":"'.$guid.'","password":"'.$pass.'","username":"'.$username.'","email":"'.$email.'","_csrftoken":"c3a1648209b1eeefd7bd8d404211be5e", "Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}';
$sig = GenerateSignature($data);
$new_data = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=4';
然后,显然查询字符串将与请求一起发送到服务器。但是,我似乎无法使用Charles找到我认为真正感兴趣的应用程序的API密钥。我的iPhone已越狱了,但我不太清楚在哪里查看{ {1}}文件夹找到API密钥?有任何想法吗?
答案 0 :(得分:0)
您可以使用https://code.google.com/p/droidbox/查找密钥。或者使用Java反汇编工具。
还有一个网络服务,您可以上传APK并扫描恶意软件。该报告包含带有密钥的ADB logcat输出,例如,请参阅此scan-report(滚动到底部“ADB logcat生成的输出”)。