Código de cliente HTTP de pruebas de penetración

0

Estoy trabajando en el código de cliente HTTP que realiza llamadas a la API REST a un servidor y procesa las respuestas.

El cliente se comunica con el servidor a través de SSL, pero la sesión de SSL finaliza en un servidor de seguridad de aplicaciones web. El servidor de seguridad de aplicaciones web es como un proxy de intermediario.

Me gustaría que el cliente sea lo suficientemente sólido como para manejar cualquier comportamiento erróneo de este proxy. ¿Hay alguna herramienta que proporcione tales pruebas? Por ejemplo, el proxy podría redirigir al cliente a otra parte, o modificar la respuesta enviada por el servidor. Puedo encontrar un montón de suites de prueba para probar el código del servidor web, pero no el código del cliente. Miré a https://mitmproxy.org/ y algunas opciones en Kali Linux que te permiten configurar un servidor web malicioso que sirve malware. ¿Hay otras opciones?

    
pregunta user3321437 09.09.2015 - 21:59
fuente

1 respuesta

1

Su cliente debe verificar la respuesta en busca de errores, independientemente del origen del error: ya sea un error de proxy, un error del servidor o un error de TCP.

Tu debe simular el servidor web (la forma en que lo haces depende de tu idioma y entorno favoritos) y verificar las siguientes situaciones:

  • 404, 403, 500 y otros códigos de error que no sean 200. También puede consultar códigos de estado como "movido permanentemente".
  • Respuesta de correo no deseado (ni siquiera HTTP válido, es decir, flujo de bytes aleatorios)
  • HTTP válido con basura en el interior (si esperas a json, envía .png como cuerpo de respuesta)
  • Respuesta interrumpida (envíe una respuesta válida pero desconecte al cliente después de enviar el 95%)
  • Tiempo de espera (aceptar solicitud y hacer que el cliente espere 40 segundos antes de responder)
  • Bomba enorme (enviar 500 mb como respuesta)
  • Respuesta con errores lógicos (es decir, si espera el campo "age" de enteros positivos en JSON, intente enviar "-9000" o "abc123" o 500 bytes aleatorios para él)

Si todos estos casos se manejan correctamente, creo que su cliente está preparado para cualquier error de proxy.

    
respondido por el user996142 09.09.2015 - 22:13
fuente

Lea otras preguntas en las etiquetas