Interceptando la solicitud y respuesta de AJAX usando BURP

3

Me gustaría interceptar una solicitud AJAX utilizando BURP. He usado BURP para pruebas de aplicaciones web antes. Esto, sin embargo, parece ser un caso extraño. No estoy seguro de lo que me estoy perdiendo aquí.

La situación es:

Tengo una página web, digamos: enlace .

Entre los otros campos en el formulario de REGISTRO en esta página, hay un campo de texto de emailID . Debido a alguna lógica extraña de la aplicación, y realmente no me importa qué, a medida que escribo los caracteres en este archivo de texto, aparece un cuadro desplegable con todas las sugerencias correspondientes para ese personaje.

  

Ejemplo:   Digamos que escribo el carácter 'a', luego algunas de las sugerencias que se pueden extraer son como [email protected], [email protected], [email protected], etc.

Nota: Este no es un campo / formulario habilitado para autocompletar que está provocando que se retiren estas sugerencias, en caso de que se esté preguntando en esas líneas.

Verifiqué la solicitud en BURP y se está realizando una solicitud ajax, como se sospecha, para cada carácter escrito en el campo de texto emailID.

Entonces, desde BURP la solicitud es de la siguiente forma:

  

GET /abcd/register.php?mod=ajax&inajax=yes&infloat=register&ajaxmenu=1&action=email_verify&email=allTheCharactersIEntered HTTP / 1.1

     

Anfitrión: www.ejemplo.com

Ahora, aunque INTERCEPT está ENCENDIDO en BURP y puedo ver que la Solicitud GET anterior está en pausa (interceptada) para que la modifique y envíe la solicitud, en realidad la respuesta ya se recibió y el buzón de sugerencias ya ha sido Rellenado con las sugerencias respectivas, como puedo ver en el navegador y también en la pestaña Historial HTTP en BURP.

Lo que quiero lograr es que: cada vez que escribo un solo carácter en el cuadro de texto de la ID de correo electrónico (es cuando se realiza la llamada ajax, según entiendo), antes de la respuesta ( se genera el cuadro desplegable de sugerencias) Debería poder interceptar y realizar cambios en el carácter escrito sobre la marcha.

¿Qué es lo que me estoy perdiendo aquí? ¿Cómo logro lo anterior? No dude en preguntar algo que no tenga sentido en el escenario anterior.

    
pregunta qre0ct 28.01.2015 - 07:14
fuente

4 respuestas

2

¿Está interceptando todas las solicitudes o solo las solicitudes "dentro del alcance"? ¿Podría ser que la lógica en el código JavaScript intente con otro dominio si no obtiene una respuesta oportuna, una que usted no está interceptando?

Otra posibilidad es que hay un caché de respuestas del lado del cliente al que se accede si transcurre un tiempo de espera. Quizás Burp Intercept esté causando el tiempo de espera, por lo que la aplicación simplemente accede a su almacenamiento local.

Eche un vistazo a los scripts de cliente de la aplicación para averiguar exactamente cómo funciona esto. También examine los registros de proxy completos en Burp para comprobar que no falte ninguna solicitud.

    
respondido por el SilverlightFox 28.06.2015 - 18:37
fuente
0

Lo que quieres hacer es el trabajo del proxy, Burp Proxy en tu caso. Me gustaría que se asegurara de que no solo esté viendo el tráfico.

En caso de que esté seguro de que Burp haga una pausa en la solicitud hasta que la envíe. Entonces, creo que la llamada ajax tiene un pequeño tiempo de espera.

    
respondido por el mzz 28.01.2015 - 21:02
fuente
0

¿Puede ser que esta funcionalidad en particular (ajax solicitud GET para cada personaje escrito) es algún tipo de código heredado, o simplemente una pieza antigua olvidada? ¿Se puede actualizar la aplicación y manejar este "autocompletado" con otros medios aún por descubrir, y esta solicitud no tiene un significado en particular, o simplemente es redundante (es decir, la bloquea y las patadas de código más recientes hacen su trabajo)?

    
respondido por el tis 29.01.2015 - 07:47
fuente
0

Hay ajustes en Burp para no interceptar ciertos tipos de archivos (como .jpeg, .css). Apuesto que si buscó en la pestaña de opciones de la herramienta proxy, tiene .js como uno de los tipos de archivos omitidos. Si la página solicita los resultados de un archivo .js, esto no sería interceptado. En esta imagen puede ver las opciones para no interceptar ciertas extensiones: enlace

También, mira esta pregunta: Burp Suite no está interceptando las respuestas de JSON

    
respondido por el mcgyver5 28.06.2015 - 18:58
fuente

Lea otras preguntas en las etiquetas