2012-01-27 5 views
2

Я проверил ручное тестирование случайного приложения для Android, которое использует метод POST для отправки данных на удаленный сервер с использованием HTTPS.Android Pen Testing

Я установил прокси-сервер и могу перехватить трафик, однако метод POST кажется зашифрованным и «закодирован в url».

Что я хочу знать ... есть ли общий стандарт шифрования, который следует в таком сценарии, что-то вроде Base64, или было бы так, что приложение использует механизм шифрования подписи внутри, который шифрует данные до их отправки через метод POST.

Любое руководство будет действительно оценено. Заранее спасибо !

+0

Я считаю, что этот вопрос не по теме здесь речь идет больше о тестировании пера и метода POST чем Android. – roxan

+0

Возможно, вы должны отправить его через SSL-соединение? В любом случае, здесь нет темы, разработка вопросов принадлежит StackOverflow. –

ответ

0

Вы можете установить кодировку, что вам нравится

UrlEncodedFormEntity(nameAndValuePairsGoHere,"encoding goes here"); 

Полный пример, кредит: Source

public void postData() { 
    // Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); 

    try { 
     // Add your data 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("id", "12345")); 
     nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")); 

     // Execute HTTP Post Request 
     HttpResponse response = httpclient.execute(httppost); 

    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
    } 
}