Test di penetrazione codice client HTTP

0

Sto lavorando al codice client HTTP che rende le chiamate api REST a un server ed elabora le risposte.

Il client comunica con il server tramite SSL, ma la sessione SSL viene terminata su un firewall di applicazioni Web. Il firewall dell'applicazione Web è come un proxy man-in-the-middle.

Vorrei rendere il client abbastanza robusto da gestire qualsiasi comportamento erroneo da parte di questo proxy. Esistono strumenti che forniscono tali test? Ad esempio, il proxy potrebbe reindirizzare il client altrove o modificare la risposta inviata dal server. Sono in grado di trovare molte suite di test per testare il codice del server Web, ma non il codice client. Ho esaminato https://mitmproxy.org/ e alcune opzioni in Kali Linux che consentono di configurare un server Web dannoso che serve malware. Ci sono altre opzioni?

    
posta user3321437 09.09.2015 - 21:59
fonte

1 risposta

1

Il client dovrebbe verificare la risposta per eventuali errori indipendentemente dalla fonte dell'errore: errore proxy, errore server o errore TCP.

Dovresti simulare il web server (il modo in cui lo fai dipende dalla lingua e dall'ambiente preferiti) e controlla le seguenti situazioni:

  • 404, 403, 500 e altri codici di errore non 200. Puoi controllare i codici di stato come "spostati in modo permanente".
  • Risposta indesiderata (nemmeno HTTP valido, cioè flusso di byte casuali)
  • HTTP valido con junk all'interno (se si attende json, quindi si invia .png come corpo della risposta)
  • Risposta interrotta (invia risposta valida ma disconnetti il client dopo aver inviato il 95% di esso)
  • Timeout (accetta la richiesta e fa in modo che il client attenda 40 secondi prima della risposta)
  • Bomba enorme (invia 500 mb come risposta)
  • Risposta con errori logici (ad esempio se si attende il campo "età" intero positivo in JSON, provare a inviare "-9000" o "abc123" o 500 byte casuali per esso)

Se tutti questi casi sono gestiti correttamente, credo che il tuo client sia pronto per qualsiasi errore del proxy.

    
risposta data 09.09.2015 - 22:13
fonte

Leggi altre domande sui tag