php - mysql_real_escape_string - Pruebas de vulnerabilidades de seguridad en aplicaciones web: ¿Mejores prácticas?
sql injection example php (4)
Estoy desarrollando una aplicación web. Como, una correcta, he usado cosas como Joomla en el pasado para hacer cosas increíbles, pero ahora finalmente me he ensuciado las manos con PHP, MySQL y CodeIgniter.
Cuando crea aplicaciones web serias que manejan grandes cantidades de datos, ¿qué precauciones debo tomar contra mis entradas de datos para desinfectarlas por completo? Sé que existe el obvio recorte, escape, limpieza xss, etc., pero ¿qué otras técnicas debo incorporar para detener las inyecciones en la base de datos?
No solo eso, sino que ¿hay algún código de inyección de base de datos no destructivo con el que pueda probar todas mis entradas? Al igual que en, se inyectará algo visibile, pero en realidad no hará ningún daño a mi base de datos de prueba? No soy exactamente un hacker y necesito un poco de orientación sobre esto.
¿Qué otros métodos comunes utilizan los piratas informáticos para destruir o leer los datos del usuario y cómo puedo comprobarlo? No tengo el dinero para contratar a un asesor de seguridad ya que solo tengo 16 años, pero tengo una buena experiencia con las computadoras y estoy seguro de que podría lograr algunos trucos si me dan algunos consejos sobre lo que son.
Sé que es una gran cantidad de preguntas pero, para resumir, ¿qué hace para asegurarse de que todo esté 100% seguro?
La inyección SQL y XSS son los errores más comunes que cometen los programadores. La buena noticia es que son más fáciles de probar automáticamente, siempre y cuando tengas el software adecuado. Cuando estoy en un Pentest, uso Sitewatch o Wapiti para encontrar vulnerabilidades de aplicaciones web. Acunetix es demasiado caro.
Pero, no puede simplemente disparar alguna herramienta automatizada y esperar que todo funcione. Hay una serie de precauciones que debe tomar con CUALQUIER escáner de vulnerabilidad que elija.
1) asegúrese de que display_errors = On en sus pruebas de inyección de php.ini Sql confíe en poder ver los mensajes de error de mysql en las páginas de respuestas. ¡Ningún error, ninguna vulnerabilidad detectada!
2) Escanee las áreas autenticadas de su aplicación. Crear una cuenta de usuario específicamente para la prueba. Acuentix tiene un asistente fácil donde puede crear una secuencia de inicio de sesión. Si está usando wapiti, puede darle una cookie a wapiti o darle a wapiti una solicitud de publicación para que se active, pero esto es un poco complicado.
DESPUÉS DE QUE HA PROBADO SU APLICACIÓN, PRUEBE QUE SU SERVIDOR NO ESTÁ CONFIGURADO Para probar su servidor, debe ejecutar OpenVAS que es la nueva versión más gratuita de Nessus, que ahora es un producto comercial. Entonces debes seguir esto con PhpSecInfo . Estas pruebas le notificarán los problemas con su configuración o si está ejecutando software vulnerable antiguo.
Nada nunca será 100% seguro, NUNCA . No importa lo que hagas, hay vulnerabilidades que se deslizarán a través de las grietas. Hay vulnerabilidades en todas las plataformas de desarrollo que conllevan un compromiso que ninguna herramienta puede probar. También hay errores en las herramientas de prueba que utiliza. Hay posties falsos y falsos negativos y algunas pruebas que simplemente no funcionan , un buen ejemplo: nunca he visto una herramienta CSRF automatizada que realmente encuentre vulnerabilidades legítimas. La prueba CSRF de Acunetix es una completa pérdida de tiempo.
También está la guía de pruebas OWASP que se detalla más detalladamente. Esto no debe confundirse con el Top 10 de OWASP, que también es un recurso excelente. La Guía de seguridad de PHP también es un gran recurso para los programadores de PHP.
Puedes echar un vistazo a OWASP .
Utilice WebCruiser Web Vulnerability Scanner para analizar vulnerabilidades de inyección SQL. WebCruiser no solo es una herramienta de análisis de seguridad web, sino también una herramienta automática de inyección SQL, una herramienta de inyección XPath, una herramienta XSS.
I don''t have the money to hire a security consultant since I''m only 16
Tienes 16 años no significa que no tengas dinero para contratar: D.
No necesitas contratar a nadie. Existen muchas herramientas en línea gratuitas que puede utilizar para probar la vulnerabilidad de su aplicación web.
Intente utilizar http://www.zubrag.com/tools/sql-injection-test.php para probar la vulnerabilidad de Inyección de SQL
http://www.parosproxy.org : registrador de tráfico web, araña web, calculadora de hash y un escáner para probar ataques de aplicaciones web comunes, como inyección de SQL y secuencias de comandos entre sitios
El software HP WebInspect [no es gratuito] prueba los ataques web comunes, como la inyección de parámetros, la creación de scripts entre sitios, el recorrido de directorios, [intente buscarlo en Google]
http://portswigger.net/suite/ : Burp Suite es una plataforma integrada para atacar aplicaciones web. Contiene todas las herramientas Burp con numerosas interfaces entre ellas diseñadas para facilitar y acelerar el proceso de ataque de una aplicación. Todas las herramientas comparten el mismo marco robusto para el manejo de solicitudes HTTP, persistencia, autenticación, proxies ascendentes, registro, alertas y extensibilidad.