He estado llevando a cabo bastantes MITM
ataques últimamente en mi iPhone con Charles . Muchas de las aplicaciones que he estado anhelando para obtener una mejor comprensión de son fáciles de ingeniería inversa simplemente usando cURL
para imitar las peticiones que se envían al servidor. Otros, sin embargo, requieren una firma que supongo que utiliza una clave secreta que se utiliza para generar un hash de la carga útil. Cuando hice ingeniería inversa de la API de Instagram hace un tiempo, fue algo como esto
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';
Y entonces, obviamente la cadena de consulta se enviaría junto con la petición al servidor. Pero, me parece que no puede encontrar la clave de API utilizando Charles para una aplicación que estoy realmente interesado. Mi iPhone es jailbreak, pero no estoy muy seguro de dónde buscar dentro de la var/mobile/applications
¿carpeta para encontrar la clave API? ¿Alguna idea?
0 votos
Por cierto, gracias por compartir el código PHP en tu blog @Lance