Underc0de

[In]Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: Dedalo en Mayo 06, 2012, 04:35:47 PM

Título: Argument Injection
Publicado por: Dedalo en Mayo 06, 2012, 04:35:47 PM
Cuantas veces no hemos visto un log-in que no es vulnerable a sql injection pero queremos entrar a como de lugar, una idea sería brute-force pero... no siempre hay una respuesta...

Ahora les voy a mostrar un error que algunos programadores aun cometen, la idea es que cuando el usuario y la pass coninciden hacen que una variable X cambie a true, ahora la preguntasa es que pasaría si nosotros hicieramos que la variable a taves de un GET se ejecutara?


Un Ejemplo (No es Real! Es un tipo Pseudo):


<?php

if ($user == 'hola' AND $pass == 'pass'){
$access $_GET['access'];
$access 1;
}

if (
$access == '1') {
echo 
'Access Granted.'; }
else {
echo 
'Access Denied.';
}
?>




Como ven en el caso de que access sea true te deja entrar... yo me pregunto que pasaría si nosotros por ejemplo...


http://www.bugged.com/admin/login.php

ahi ponemos un usuario para bypass con sql injection y no funciona entonces nos regresa a la misma página... pero nos mostrará algo como lo siguiente:


http://www.bugged.com/admin/login.php?user=&pass=&access=0

como ejemplo... ahora si nosotros en ves de esto pusieramos...

http://www.bugged.com/admin/login.php?access=1

ahi tambiaríamos a true la variable access ahora como la mayoría de personas no ponen una seguridad a sus paneles de control solo faltaría ir a

http://www.bugged.com/admin/


Ahora para reparar este error no hay mucho que hacer en vez de hacer dos ifs distintos uno preguntando asi: si usuario y pass son correctos access = 1 no cojerlo por get en ningun momento por post tampoco sino como session setearlo como session...

Otra cosa deben de asegurar que pida la sessión en el momento de hacer que access cambie a 1...

if(isset($_SESSION['access']))



Saludos,
Dedalo
Título: Re:Argument Injection
Publicado por: Sanko en Mayo 06, 2012, 07:00:35 PM
Esta bueno bro , sigue asi
Título: Re:Argument Injection
Publicado por: ANTRAX en Mayo 06, 2012, 07:03:50 PM
Que bueno! no sabia de esto! muchas gracias bro!
Título: Re:Argument Injection
Publicado por: BadSekt0r en Mayo 06, 2012, 07:46:07 PM
Ese error era conocido hace tiempo..
Y no es cuando un programador coloca un GET para validar

Eso sucede en versiones viejas de php donde tenian on las variables globales

Recuerdo que ese bug nos divertia hace muchos años..

saludos
Título: Re:Argument Injection
Publicado por: ANTRAX en Mayo 06, 2012, 07:50:54 PM
Buen complemento BadSekt0r!
Muchas gracias!
Título: Re:Argument Injection
Publicado por: Dedalo en Mayo 06, 2012, 08:06:06 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Ese error era conocido hace tiempo..
Y no es cuando un programador coloca un GET para validar

Eso sucede en versiones viejas de php donde tenian on las variables globales

Recuerdo que ese bug nos divertia hace muchos años..

saludos


mmm primero que nada si te estás guiando por el bug nuevo que salio de cgi bin pues estás confundido es un argument injection por que se inyecta un argumento del php por url y segundo si es que me estubiese equivocando en el nombre OWASP también se estaría confundiendo...


https://www.owasp.org/index.php/Argument_Injection_or_Modification



Saludos,
Dedalo
Título: Re:Argument Injection
Publicado por: BadSekt0r en Mayo 07, 2012, 08:32:56 AM
nop ninguno de los dos.. te hablo de algo q pasaba hace mucho y eso q describis es muy parecido a eso muy parecido..

Este articulo un admin explica
http://blog.sectorhosting.com/tag/register_globals/

Esa vulnerabilidad existia cuando en php.ini la directiva register_globals permanecia en ON
Las nuevas versiones por defecto vienen en OFF

Por lo tanto cada variable debe estar inicializada correctamente y no por ningun tipo de request

Wikipedia podes ver algo

http://en.wikipedia.org/wiki/Session_poisoning

y si ves en el link q me pasaste dice Last revision (mm/dd/yy): 05/27/2009

por eso te digo que es una vulnerabilidad vieja

En fin.. no era para hacerlo tan largo.. es solo eso

era solo un comentario constructivo
Título: Re:Argument Injection
Publicado por: Dedalo en Mayo 07, 2012, 10:25:55 AM
Gracias por complementar en todo caso :)


Saludos,
Dedalo
Título: Re:Argument Injection
Publicado por: 5TU4RT en Mayo 18, 2012, 11:06:33 AM
como tu dices... Muchos programadores cometen este error aun!!!

Un dia me topé con un panel de adminitracion de la siguiente forma:

www.web.com/administrador/index.php

le puse cualquier dato en el user y pass y en el URL sucedió...

www.web.com/administrador/index.php?value=False

Simplemente le cambié el False por el True, y Bienvenido =)


Exelente Aporte...



SALu2