2012-03-13 15 views
22

He buscado y encontrado un good discussion here on SO, pero tiene varios años.¿Cómo puedo probar automáticamente mi sitio para detectar ataques de inyección de SQL, usando un script o un programa?

¿Qué programas hay, o hay un script simple que puedo ejecutar, para encontrar los agujeros de inyección SQL en las URL en todo mi sitio?

Preferiblemente, me gustaría ejecutar un script (PHP) o un programa que rastrea mi sitio, rebotando de un enlace a otro, intentando encontrar agujeros, y al descubrirlo, almacena esa URL, así que tengo una lista de URL I necesito arreglarlo

¿Existe esto?

+0

Siempre que use una buena biblioteca o lo cite todo, la inyección SQL es la menor de sus preocupaciones.Me preocuparían más los ataques XSS y la seguridad de la red. – iLLin

+0

@iLLin Estoy de acuerdo, pero el problema es que el sitio tiene 10 años y es bastante grande: existen muchos agujeros de inyección SQL que existen en años anteriores, y estoy buscando una manera de encontrarlos fácilmente. –

Respuesta

16

Sí y no. Primero lo anteponeré diciendo que no solo estoy publicando enlaces, sino que he realizado auditorías de seguridad de manera profesional utilizando todas estas herramientas y no como desarrollador de un proyecto, sino como un recurso externo. Tenga en cuenta que generalmente la inyección de sqlserver es diferente de mysql también.

herramientas gratuitas como paros de proxy [arrastra] (anteriormente mencionado),

burpsuite (anteriormente mencionado [arrastra] pero los ataques activos requiere pro): http://portswigger.net/burp/

sqlninja (sqlserver solamente) http://sqlninja.sourceforge.net/

Google proxy de rata: [arrastra] http://code.google.com/p/ratproxy/

Websecurify: [arrastra] http://www.websecurify.com/

wapití: [rastreos pero requiere mucho trabajo para establecer - puede ser utilizado específicamente para sqli con la araña] http://wapiti.sourceforge.net/

nikto: [rastreos pero no para sqli ...]

son grandes! Pueden ayudarlo a identificar problemas, pero requieren una gran cantidad de análisis humanos debido a la gran cantidad de falsos positivos. Las herramientas comerciales están disponibles como: ([! rastreos] uno de los mejores)

NTOSpider: http://www.ntobjectives.com/software/ntospider

son muy caros pero hablar con un representante le conseguirá una copia gratuita durante un período de tiempo (que no tengo hecho con ellos). Hacen que la clasificación de los resultados sea más rápida al proporcionar enlaces de validación en los informes, pero TODAVÍA necesita un ojo y análisis capacitados, ya que he encontrado falsos positivos.

En última instancia, la respuesta correcta a esta pregunta es: Puede usar herramientas para ayudarlo a identificar si hay vulnerabilidades de seguridad (sqli) pero solo un ojo entrenado usando las herramientas puede validarlas. Además, solo una revisión y análisis del código adecuado puede identificar las vulnerabilidades que una aplicación (incluso una muy buena) puede perder.

Las herramientas pueden ayudar, pero se necesita tiempo y análisis humanos para hacerlo correctamente. Los proxies y los ladrones de solicitudes son las herramientas reales para golpear la aplicación con la inyección y se realizan con la intención cuidadosa de probadores entrenados o aquellos con una mente curiosa.

0

Lo pruebo en mis sitios:

Si ha log-en forma, por ejemplo, tratar de entrar: Campo de

nombre de usuario: anytext o 1 = 1'

campo Contraseña: AnyPassword

si no cubrió la inyección sql en su código, puede iniciar sesión con eso.

Gracias

+2

Gracias, pero no es lo que estoy buscando. Sé cómo identificar la inyección de SQL en una sola página: estoy buscando un script para rastrear mis páginas. –

3

Los Burp Scanner funciona muy bien para la búsqueda de inyección de SQL, así como una variedad de otras cosas. Sin embargo, tiene que pagar $ 300 por el escáner, pero eso es bastante barato cuando mira otros escáneres en el mercado.

Para elaborar, lo que está buscando es un escáner de vulnerabilidad de aplicaciones web. Estos rastrearán su sitio y enviarán vectores de ataque a varios parámetros. De todos los escáneres que he usado, Burp me ha dado los mejores resultados y tiene un gran rendimiento. Si está buscando una alternativa gratuita, puede probar Grendel Scan No se ha actualizado desde hace un tiempo, pero todavía funciona bastante bien. Especialmente para una herramienta gratuita.

Aquí hay un list de algunos otros escáneres de vulnerabilidades que existen. Estoy seguro de que encontrará algo para satisfacer sus necesidades.

+0

Burp es bastante agradable y no se limita solo a la inyección SQL; puede encontrar otras lagunas que quizás no haya adivinado que existen. Poco costoso, pero hace el trabajo. – Aleks

8

Tengo dos herramientas favoritas (ambos gratuitos):

  1. sqlmap - le das una dirección URL, y ésta busca automáticamente las vulnerabilidades . Si entra, te da un mensaje de SQL.
  2. Paros Proxy - Este proceso demora un poco más en configurarse. Debe configurar su navegador para usar un proxy y luego usar su sitio (inicie sesión, navegue a otras páginas, etc.). Una vez que haya terminado, analizará su caché de todas las solicitudes que realizó y mostrará un informe de las vulnerabilidades potenciales que encontró.
+0

Tengo sqlmap, pero estoy buscando algo para escanear sin que yo le dé una URL directa. Paros Proxy parece que podría ser bueno, aunque todavía tengo que rastrear manualmente, pero al menos es mejor que escribir manualmente las URL. –

Cuestiones relacionadas