it-swarm-es.com

¿Conoce algún software rastreador / araña que pueda acceder a un sitio ASP.NET?

¿Conoce algún software rastreador/araña que pueda pasar a través de la aplicación ASP.NET, no ASP.NET MVC, pero el que está lleno de funciones JavaScript __doPostBack en cada enlace/botón/evento de cambio?

Si no existe tal aplicación, ¿cómo empezar a inspeccionar los sitios web ASP.NET? Mi enfoque suele ser buscar todos los archivos * .aspx en la carpeta de la aplicación y verificar uno por uno si es posible llegar a la página sin parámetros o intentar acceder a ella a través de la GUI del sitio web, lo cual es un asesino en tiempo real.

4
bretik

Los enlaces JavaScript son un problema real para el spidering automatizado. Personalmente, tiendo a usar Burp suite y construir manualmente una lista de páginas navegando por el sitio, y luego uso el escaneo página por página.

En teoría, la forma de hacerlo sería usar una araña que se basa en el motor del navegador en sí para hacer el spidering (por lo que algunas de las herramientas que "manejan" un navegador pueden ser útiles).

Otra opción sería tener un motor de análisis de JavaScript disponible en su lenguaje de programación. Una cosa que vi que puede ser útil en ese frente es este proyecto de rubyracer , que permite el acceso a un motor de análisis de JavaScript desde Ruby. No lo he probado, pero estaba pensando que podría ser posible usar algo así para evaluar JavaScript en los envíos de formularios y extraer la URL apropiada para que la araña siga de ahí.

4
Rory McCune

Los ingenieros/probadores de calidad de software no confían en rastreadores y arañas para probar sus errores; no creo que los ingenieros/probadores de seguridad de aplicaciones tampoco deberían ...

En cambio, los SQE se basan en gran medida en marcos de pruebas de desarrollo (o arneses de prueba) como Selenium RC/Bromine, Watir/WatiN/Watij, Sahi, HtmlUnit o WebDriver. Algunos optan por herramientas de control de calidad comerciales de gama alta, como HP QTP, IBM Rational Functional Tester, TestComplete y VisualStudio Tester Edition 2010.

Los SQE no suelen automatizar el ejercicio de una aplicación para el flujo de ejecución porque:

  • Las pruebas requieren un descubrimiento exploratorio, como lo haría un turista en una nueva ciudad en la que nunca ha estado, con el fin de determinar el alcance de las conclusiones y determinar los resultados, especialmente cuando se realiza en un cronograma (como lo hacen muchos evaluadores)
  • Conceptos como la clasificación de equivalencia pueden ahorrarles a los evaluadores horas de trabajo al no tener que repetir los mismos errores una y otra vez. Las pruebas de seguridad son un poco diferentes en el sentido de que tenemos que probar todo, pero ciertamente no hacemos esto hoy y podríamos utilizar esta técnica, especialmente cuando tenemos un tiempo limitado.

El problema con la automatización de pruebas es que las aplicaciones cambian rápidamente y, por lo general, el arnés de prueba debe modificarse continuamente para mantenerse al día con estos cambios. En las metodologías ágiles como ICONIX, las pruebas de robustez son código generado a partir de modelos de dominio y diagramas de secuencia (generalmente en UML), pero ciertamente hay muchas formas de automatizar la reconstrucción de casos de prueba durante el abandono de código y las nuevas compilaciones, sin embargo, esto más que a menudo probablemente no requiera metaprogramación.

0
atdre