2011-05-21 12 views
5

Actualmente estoy trabajando en una tarea escolar que nos exige realizar pruebas de seguridad en un sitio web creado por uno de nuestros compañeros. El sitio web se crea utilizando ASP.Net 3.5/4 y una base de datos MS-SQL.Security Testing a Website

principales características de la página web son:

  • Registro & Sesión con Roles
  • documentos Carga
  • uso compartido de los documentos cargados
  • dejando comentarios en los documentos compartidos

ya tengo comenzó a probar el sitio web usando:

  • XSS en el registro, login y dejar las secciones de comentarios
  • la inyección de SQL en el Registro y Login páginas
  • Subir de ejecutables, con una extensión diferente (me han cambiado un archivo ejecutable a .doc para probar si el el sistema está verificando la extensión del archivo o el contenido real)

¡Estas pruebas se han realizado de forma manual y tengo acceso al código fuente!

¿Puede sugerirme otras pruebas que desee realizar?

Saludos

+0

¿Cómo llevar a cabo las pruebas? usaste alguna herramienta automatizada de prueba de vulnerabilidad? o solo de forma manual? –

+0

manualmente, tengo el código fuente pero debe comenzar primero con "recuadro negro" prueba – Andrew

Respuesta

3

Un buen recurso para bloquear cosas sería OWASP - Me vinculé a sus "diez primeros" elementos, ya que lo he seguido para bloquear aplicaciones y me pareció realmente útil.

Al profundizar en cualquier elemento de su lista de los diez primeros discutiremos cómo reconocer una vulnerabilidad en particular y sugeriremos cómo eliminar la vulnerabilidad. Toda la información es independiente del código, descripciones de alto nivel para que se pueda aplicar a cualquier proyecto, ya sea .Net, Ruby, PHP, etc.

+0

¡Sitio web impresionante! ¡Gracias! – Andrew

1

Verificar para la Inclusión de archivos locales y las vulnerabilidades de inclusión de archivos remotos también.

También puede comprobar el sistema de entrada: Si el sitio le permite iniciar sesiones (y usted tiene una cuenta o puede hacer uno), inicio de sesión y comprobar para ver cómo funciona el código de inicio de sesión (es decir, un chequeo de las cookies para ver si están Sesiones de PHP [seguro] o algún otro método [generalmente no seguro]). Si encuentra una vulnerabilidad en el sistema de inicio de sesión, puede elevar sus privilegios de usuario regular a administrador.

Además, "Carga de ejecutables, con una extensión diferente". ¿Podrías aclarar eso por mí?

Lo mejor que puedes hacer es usar tu imaginación.

+0

He cambiado el nombre de un archivo que es un ejecutable a .doc para comprobar si el mecanismo de carga de archivos es en realidad la comprobación de los datos del archivo o simplemente la extensión ! Gracias – Andrew

+1

El mecanismo de carga rara vez verificará los datos reales del archivo. Una mejor prueba sería ver si puede cargar y ejecutar cualquier código del lado del servidor. Por ejemplo, cree un archivo ASP que imprima la versión (o algo más simple) y cargue diferentes extensiones para ver si el creador del script de carga olvidó una cierta extensión (es decir, archivo.asp, archivo.aspx, etc.). Tendrás que buscar más extensiones en Google porque no soy un tipo IIS/ASP. Además, verifique los complementos de terceros. Creo que Perl (y probablemente otros) se pueden instalar en IIS. – Bandit

0

También debe usar el motor de Cat.NET (que es un Microsoft gratuito que brinda seguridad enfocada herramienta de análisis estático).

He estado trabajando en hacer Cat.NET más fácil y rápido de usar dentro de VisualStudio y aquí hay una PoC muy bien de cómo en acción: Real-time Vulnerability Creation Feedback inside VisualStudio (with Greens and Reds)

Si usted está interesado en el gato.NET puede descargarlo desde http://www.microsoft.com/en-us/download/details.aspx?id=19968