He estado llevando a cabo bastantes% de ataques de% de ataque últimamente en mi iPhone con Charles . Muchas de las aplicaciones que anhelo obtener una mejor comprensión son fáciles de aplicar ingeniería inversa simplemente usando MITM
para imitar las solicitudes que se envían al servidor. Sin embargo, otros requieren una firma que supongo utiliza una clave secreta que se utiliza para generar un hash de la carga útil. Cuando revocé la API de Instagram diseñada 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 luego, obviamente, la cadena de consulta se enviaría junto con la solicitud al servidor. Pero, parece que no puedo encontrar la clave API que usa Charles para una aplicación en la que estoy realmente interesado. Mi iPhone está desbloqueado, pero no estoy seguro de dónde mirar dentro de la carpeta cURL
para encontrar la ¿Clave API? ¿Algunas ideas?