Me gustaría determinar si un JavaScript determinado contiene la lógica para realizar una llamada AJAX / WCF, o determinar si se está ejecutando uno en tiempo de ejecución.
¿Existe algo como esto?
Me gustaría determinar si un JavaScript determinado contiene la lógica para realizar una llamada AJAX / WCF, o determinar si se está ejecutando uno en tiempo de ejecución.
¿Existe algo como esto?
Estoy usando el complemento de Firefox llamado JavaScript Deobfuscator. Esto funciona muy bien, ya que puedo ver todos los scripts compilados y todos los scripts ejecutados. Esto se actualiza sobre la marcha y contiene buenos detalles sobre todos los scripts ejecutados.
También puedes usar filtros para capturar solo javascript en un dominio dado. Este plugin me ha ayudado mucho en webstesting.
Puede encontrarlo aquí enlace
Cita de la página del complemento:
This add-on will show you what JavaScript gets to run on a web page, even if it
is obfuscated and generated on the fly. Simply open JavaScript Deobfuscator from the
Tools menu and watch the scripts being compiled/executed.
Si desea examinar el javascript, la revisión del código de ala, la respuesta de @ joni es la mejor: busque XMLHttpRequest
, pero también eval
, métodos relevantes de JQuery, y también podría incluir etiquetas de imagen, etiquetas de script, etiquetas XML , y cualquier otra etiqueta que pueda recuperar un URI remoto - CSS incluido.
Sin embargo, si tiene la opción, sería mucho más sencillo de determinar en el tiempo de ejecución: simplemente adjunte un sniffer o proxy , y mira lo que pasa.
Por supuesto, todavía deberías asegurarte de activar las condiciones que lo activan, pero aún así mucho más simple.
Simple sería simplemente grep para XMLHttpRequest
. Pero esto está lejos de ser completo, porque hay muchas otras formas de configurar una solicitud HTTP (por ejemplo, agregando una imagen o etiqueta de script al DOM). Además, un usuario malintencionado podría usar eval()
en combinación con rot13 o cualquier otra función de ofuscación, y apuesto a que hay miles de otros trucos baratos. La respuesta es que tendrías que implementar un motor Javascript completo que ejecute el código en un recinto de seguridad y luego rastree cualquier solicitud.
Lea otras preguntas en las etiquetas source-code appsec javascript wcf