Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: RicRed en 5 Mayo 2012, 20:31 pm



Título: Buscador php vulnerable a SQLi por POST
Publicado por: RicRed en 5 Mayo 2012, 20:31 pm
Como haria para crear un archivo php vulnerable por post a SQLi, ejemplo:

Inserte una comilla simple al buscador y salte un error mysql, para practicas por localhost

Bueno es todo,

Saludos!


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: Runex en 5 Mayo 2012, 20:43 pm
Create una database y hazte un form con html cuyos datos sean procesados en PHP para realizar la consulta, poniendo las comillas para cerrar la query, debe ser suficiente para que salte el error.

Prueba a hacer eso, sino funciona así simple, no se me ocurre otra cosa que utilizar la función mysql_error() en PHP para que devuelva el error.

Un saludo :)


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: RicRed en 5 Mayo 2012, 21:02 pm
Create una database y hazte un form con html cuyos datos sean procesados en PHP para realizar la consulta, poniendo las comillas para cerrar la query, debe ser suficiente para que salte el error.

Prueba a hacer eso, sino funciona así simple, no se me ocurre otra cosa que utilizar la función mysql_error() en PHP para que devuelva el error.

Un saludo :)

Cierro la consulta con comillas simples?

Ejemplo: 'SELECT * FROM buscador where nombre=$_POST['NOMBRE']'

No se si sea algo asi, luego pruebo algo.

Saludos!

PD: Es para practicas por localhost


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: Runex en 6 Mayo 2012, 01:29 am
Cierro la consulta con comillas simples?

Ejemplo: 'SELECT * FROM buscador where nombre=$_POST['NOMBRE']'

No se si sea algo asi, luego pruebo algo.

Saludos!

PD: Es para practicas por localhost

No con lo de "poniendo las comillas para cerrar la query" me refería a poner comillas en el formulario html.

La consulta como tu bien has escrito sería así en PHP:
Código
  1. $consulta = mysql_query("select * from tablename where nombre='$_POST['NOMBRE']'")

Pero para que salte el error, la explicación es que al insertar comillas, es como si tu "rayases" la consulta por decirlo de alguna manera, por tanto al introducirlas en el buscador, te debe de devolver el error, no sé si me explico xD

Un saludo :)


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: RicRed en 6 Mayo 2012, 03:06 am
Tengo este codigo, pero inserto una comilla simple y me sale esto: \'

barra invertida con comilla simple, como haria para que al insertar comilla simple aparezca un error de mysql en los resultados?

Código
  1. <form action="index.php" method="post">
  2. Buscar: <input name="nombre">
  3. <input type="submit" name="buscar" value="Buscar">
  4. </form>
  5.  
  6.  
  7. <?php
  8.  
  9. if ($_POST['buscar'])
  10. {
  11. $nombre=$_POST['nombre'];
  12.  
  13. // Conexión a la base de datos y seleccion de registros
  14. $link=mysql_connect("localhost","user","pass");
  15.  
  16. $sql="SELECT * FROM buscador WHERE nombre LIKE '%$nombre%' ORDER BY nombre ASC";
  17. mysql_select_db("database", $link);
  18.  
  19. $result=mysql_query($sql, $link);
  20.  
  21. $total=mysql_num_rows($result);
  22.  
  23. if ($row=mysql_fetch_array($result))
  24. {
  25. for ($i = 0; $i < $total; $i++)
  26. {
  27. ?>
  28.  
  29. <div>
  30. <span class="texto"><strong>Busqueda:</strong> <?=$row['nombre'];?> -
  31. </span><br><br>
  32. </div>
  33.  
  34. <?php
  35.  
  36. $row=mysql_fetch_array($result);
  37. }
  38.  
  39. } else {
  40.  
  41. echo "<p>No se encontraron resultados para la consulta <strong>$nombre</strong> :</p>";
  42.  
  43. }
  44.  
  45.  
  46. }
  47. ?>
  48.  

Bueno es todo,

Saludos!


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: RicRed en 6 Mayo 2012, 16:40 pm
Alguien sabe?


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: Runex en 6 Mayo 2012, 18:05 pm
Alguien sabe?

Pff yo ahora si que no te puedo ayudar asasasaq tengo muy poco tiempo libre y no se me ocurren más cosas, esperemos a ver si hay alguien que te pueda ayudar, que a mi también me interesa la respuesta.

Un saludo :)


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: Breixo en 6 Mayo 2012, 22:47 pm
Alguien sabe?

Según tengo entendido es cosa de las nuevas versiones del apache, escapa tanto la comilla simple como la doble.

Yo tuve esos mismo problemas creando unos retos de hacking para mi blog y lo solucioné así:
Código
  1. $variable = $_POST['var'];
  2. $variable = str_replace('\\\'','\'',$variable);
  3. $variable = str_replace('\\\"','\"',$variable);
  4.  


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: RicRed en 6 Mayo 2012, 23:08 pm
Según tengo entendido es cosa de las nuevas versiones del apache, escapa tanto la comilla simple como la doble.

Yo tuve esos mismo problemas creando unos retos de hacking para mi blog y lo solucioné así:
Código
  1. $variable = $_POST['var'];
  2. $variable = str_replace('\\\'','\'',$variable);
  3. $variable = str_replace('\\\"','\"',$variable);
  4.  

Ahora si da error, gracias Breixo buena solucion, sera proteccion de magic_quotes?

Bueno es todo,

Saludos!


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: ~ Yoya ~ en 7 Mayo 2012, 23:56 pm
Prevención de SQLi (http://foro.elhacker.net/nivel_web/prevencion_de_sqli-t320107.0.html;msg1583571#msg1583571)


Título: Re: Buscador php vulnerable a SQLi por POST
Publicado por: h3ct0r en 1 Junio 2012, 14:10 pm
Ahora si da error, gracias Breixo buena solucion, sera proteccion de magic_quotes?

Si, eso es magic_quotes. Puedes deshabilitarlo en el php.ini para asi no tener que andar parcheando el código. Acuérdate de colocar display_errors on para ayudar a debuggar mejor con los errores.

Nota: No vallas a poner ese sistema en producción!  :laugh: