Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dimitrix en 2 Julio 2011, 17:14 pm



Título: Error 403 ¿Posible SQli?
Publicado por: dimitrix en 2 Julio 2011, 17:14 pm
Vamos a ver, estoy desarollando una aplicación y hay una variable GET que la uso para usa consulta SQL.

http://www.todojuegos.com/pcontrol/?accion=changever&idcli=1

Siempre limpio las variables antes de meterlas en las sentencias, pero me pasa una cosa muy rara.

Si pongo por ejemplo:
&idcli=1 // Y existe me dice que todo ok
&idcli=1211 // Error: No existe o no pertenece

Ataques:
&idcli="> // Error: No existe o no pertenece
&idcli='OR // Error: No existe o no pertenece
&idcli=% // AQUÍ LO RARO

Al poner % me sale:

Citar
Error 403
Forbidden
You don't have permission to access /pcontrol/ on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.41 Server at www.todojuegos.com Port 80

Y no me mola no poder controlar ese error.

Para limpiar la variable en una sentencia SQL uso este:
mysql_real_escape_string($idcli)

Gracias :-)


Título: Re: Error 403 ¿Posible SQli?
Publicado por: Spider-Net en 2 Julio 2011, 17:22 pm
Podrías usar una función como esta, que limpiaría de la cadena cualquier caracter que no sea alfanumérico, evitando ese problema:

Código
  1. function alfanumeric($string){
  2. $string=ereg_replace("[^A-Za-z0-9]", "", $string);
  3. return $string;
  4. }


Título: Re: Error 403 ¿Posible SQli?
Publicado por: dimitrix en 2 Julio 2011, 17:29 pm
El problema de eso es que haber si va a eliminar algo que no 'deba'.

Aunque muchos son numéricos (y en ocasiones fueron con un INT para que no me pase nada), quizás necesite poner por ejemplo un email y ya no funcionaría.

También me gustaría entender el error ¿Por qué sucede?.


Título: Re: Error 403 ¿Posible SQli?
Publicado por: madpitbull_99 en 2 Julio 2011, 18:04 pm
Si tienes el mod_security para Apache es muy probable que sea eso.


Título: Re: Error 403 ¿Posible SQli?
Publicado por: dimitrix en 2 Julio 2011, 19:03 pm
Si tienes el mod_security para Apache es muy probable que sea eso.


Estoy haciendo las pruebas en un hosting 'del palo' ¿Hay alguna forma de saberlo? Tiene cPanel.

PD: Gracias.


Título: Re: Error 403 ¿Posible SQli?
Publicado por: madpitbull_99 en 2 Julio 2011, 19:15 pm
En la información de phpinfo() creo que debería salir.


Título: Re: Error 403 ¿Posible SQli?
Publicado por: Spider-Net en 3 Julio 2011, 07:11 am
El problema de eso es que haber si va a eliminar algo que no 'deba'.

Aunque muchos son numéricos (y en ocasiones fueron con un INT para que no me pase nada), quizás necesite poner por ejemplo un email y ya no funcionaría.

También me gustaría entender el error ¿Por qué sucede?.

Si quieres que acepte emails es tan fácil como hacer la función así:
Código
  1. function alfanumeric($string){
  2. $string=ereg_replace("[^A-Za-z0-9@._]", "", $string);
  3. return $string;
  4. }
  5.  

Me parece que te estás complicando más de la cuenta, para un error que puede tener una solución extremadamente fácil.