martes, 21 de enero de 2014

Arreglando bug SQL Injection PHP

Publicado por OverNet en martes, enero 21, 2014 ,

Arreglando bug SQL Injection de manera rápida y sencilla

Este tutorial, va dedicado a los novatos que principalmente explotan el bug y defacean y se van sin arreglarlo.
*En este post encontraras como realizar una Inyección SQL.

Para poder arreglar el bug, necesitamos tener permisos de escritura (para los que trabajan con PHP Shells), de lo contrario este tutorial no te servirá pero sí a los webmasters que quieran evitar este tipo de ataque.

Bueno tenemos la siguiente página:

Como se puede apreciar es vulnerable a SQL Injection, observen la comilla.
Hay que tomar nota de esto, nos basamos en el archivo y la variable que se ejecuta:
http://www.avcnoticias.com.mx/bb/haxor.php?id='

* Tomamos nota *
- Directorio o carpeta:
/bb/
- Archivo vulnerable: haxor.php
- Variable vulnerabl SQLi: id=
- Lineas a modificar: 19 & 25 (Se identifican gracias al error que se imprime)

Nos vamos a nuestra PHP Shell o FTP (En caso de ser el propietario) y buscamos el Directorio (/bb/ en mi caso) y entre ella descargamos o modificamos el Archivo vulnerable (haxor.php en mi caso)

Lo editamos con el Bloc de Notas/Adobe Dreamweaver o cualquier otro editor de texto y buscamos la variable que es en nuestro caso id
(si estas en Adobe Dreamweaver CTRL + f, si estas en bloc de notas CTRL + b)
Y encontramos algo por el estilo:

Se observa claramente el código que no tiene ningún filtro de seguridad y que la variable es vulnerable a este tipo de ataques.
Ahora vamos arreglar este fallo tenemos en esta linea que se ejecuta la variable:

  1. $id=$_GET['id'];  
  2. $consulta = "SELECT * from nota where id_nota=$id";  
  3. $rs = mysql_query($consulta,$conn);  

Con la función sprintf() y mysql_real_escape_string() podemos arreglar este fallo:

  1. $consulta = sprintf("SELECT * from nota where id_nota='%s'",  
  2. mysql_real_escape_string($id));   
Y listo, sí incluimos la comilla en la variable ya no nos muestra ningún error.

Back Top

0 comentarios:

Publicar un comentario

Blaaa blaa y + blaa.. escribe las dudas que tengas :D

- No incluyas Correos electrónicos por seguridad propia.
- No SPAM/Flood.
- Se borrará cualquier comentario ofensivo, racista o vulgar.