Php injection

Iniciado por tragantras, 23 Febrero 2010, 00:38 AM

0 Miembros y 1 Visitante están viendo este tema.

~ Yoya ~

La directiva magic_quotes_gpc solo actuan sobre las comillas simples y dobles, pueden usar urlencode para bypassearlo pero si se envia por POST o por COOKIES pueden usar usar lo que dijo WHK
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

tragantras

Cita de: Azielito en 25 Febrero 2010, 19:45 PM
si, te entendi, te comento que hagas uso de la funcion "urldecode" cuando mandas tu codigo x)

Cita de: ~ Yoya ~ en 25 Febrero 2010, 20:04 PM
La directiva magic_quotes_gpc solo actuan sobre las comillas simples y dobles, pueden usar urlencode para bypassearlo pero si se envia por POST o por COOKIES pueden usar usar lo que dijo WHK

OOOk, vale lo probé y efectivamente, el tema de las comillas simples y dobles lo bypassea, pero el segundo problema con el que me encuentro es que no puedo colocar NINGUN espacio en la query "system()", osea puedo poner system("dir")  ( usando todo el rollo de urlencode ) pero por ejemplo no system("ls -la") pq requiere de un espacio... obviamente puedo seguir concatenando chr(32) etc etc pero me gustaría más que el metodo de explotación, el POR QUÉ ocurre esto, que de eso se trata no? de aprender :)


un saludo y aprecio mucho vuestras respuestas :)
Colaboraciones:
1 2

~ Yoya ~

En url encode el espacio es:
+
En ASCII es
32
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

tragantras

#23
hay algo que se me escapa...

veamos....

yo pongo  
Código (php) [Seleccionar]
http://url.com/pagina.php?x=3;$cosa='mycosa';echo $cosa

y me imprime correctamente         3mycosa   (recordar que era hacia echo $_GET [ x ], asi que la variable por x tambien se imprime... )


pero sin embargo si pongo
Código (php) [Seleccionar]
http://url.com/pagina.php?x=3;$cosa='my cosa';echo $cosa
ni sikiera imprime el 3 correctamente, es decir... hay algo que impide usar espacios, sin embargo comillas simples si


edit: peude ser alguna config del servidor?
Colaboraciones:
1 2

braulio--

Pues míralo en el code, puedes usar system(cat) (creo que ya lo hiciste)

tragantras

#25
cambiarIdioma.php

Código (php) [Seleccionar]
<?
session_start();
$_SESSION["pageLanguage"]=$_GET["idLanguage"];
header ("Location: index.php");
?>


index.php

Código (php) [Seleccionar]
<?include("cambiarIdioma.php");
define("WELCOME_ESP", "Bienvenio colega");
define("WELCOME_ENG", "Welcome mate");
?>
<?=eval("echo WELCOME_".$pageLanguage.";");
?>


Ahi no parece estar el problema de los espacios no?... que config puede ser? necsitais datos del phpinfo?
PD: por cierto, obviamente no son los nombres d los arxivos esos, no soy tan malvado xD
Colaboraciones:
1 2

~ Yoya ~

Agrega url encode...
http://url.com/pagina.php?x=3;$cosa='my cosa';echo urlencode($cosa);
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

tragantras

#27
Cita de: ~ Yoya ~ en 25 Febrero 2010, 23:52 PM
Agrega url encode...
http://url.com/pagina.php?x=3;$cosa='my cosa';echo urlencode($cosa);


Nop, no funciona... la unica manera de poder insertar espacios es chr(32) POR QUE?! xDD

Código (php) [Seleccionar]
3;$cosa='my.chr(32).cosa';echo $cosa;

pD: esto se está convirtiendo para mi en poco menos que quebradero de cabeza

asi si funciona.... sin el urlencode, tan solo poniendo chr(32)...
Colaboraciones:
1 2

~ Yoya ~

ps te recomiendo que lo maquetees.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

tragantras

Cita de: ~ Yoya ~ en 25 Febrero 2010, 23:56 PM
ps te recomiendo que lo maquetees.


No se muy bien a que te refieres con eso...


probando la pagina tal cual en mi ordenador, firefox me adiverte de una recursión infinita, es decir... cambiarIdioma.php hace un header a index.php y éste hace un include a cambiarIdioma.... que de nuevo volvería a hacer el header y blablabla hasta el final de los tiempos.

Por qué me ocurre esto a mi offline pero online no? alguna config del server? me faltará algun trozo de php?
Colaboraciones:
1 2