Vuln 1. Execution After Redirect
La red social es vulnerable a EAR, que consta de seguir ejecutando el código de la página luego de una verificación, ejemplo:
Código: php
La solución es colocar un exit(); debajo del header location.
Vuln 2. Input Validation
Por lo que vi, las imágenes subidas a las publicaciones se guardan como USERIDnombre_de_la_foto.ext.
Por ejemplo, user id = 1, foto = cat.jpg, resultado = 1cat.jpg
Si yo subo una foto de un gato con el nombre "cat.jpg", y luego, en otra publicación subo una foto de un perro con el mismo nombre (cat.jpg), se sobrescribe la foto anterior.
La solución sería usar algún tipo de ID único, como la función uniqid() de PHP.
Vuln 3. Insecure Direct Object Reference
Es posible "auto aceptarse" la solicitud de amistad (Gracias Bartz por aceptarme como amigo
)
1. Enviar petición de amistad (GET /socialc0de/perfil.php?CodUsua=ID&&agregar=ID).
2. Enviar la siguiente petición GET: GET /socialc0de/solicitud.php?env=TUID&&rec=ID&&accion=1
Vuln 4. Input Validation
Es posible agregarse a uno mismo como amigo. Mismo procedimiento que la vuln 3.
GET /socialc0de/perfil.php?CodUsua=TUID&&agregar=TUID
Así mismo, es posible recibir varias solicitudes de amistad de una misma persona (y al aceptarla, aumentar el número de amigos).
Vuln 5. Input Validation
Al registrarse, verifica correctamente si se utiliza un nombre de usuario ya existencia, pero esto no sucede al editar el perfil, pues puedo utilizar usuarios ya registrados (en este caso utilicé el tuyo), bloqueando la cuenta "duplicada", pues, es imposible loguearse.
P.S.: Deberías agregar un captcha al registro, para evitar spambots que creen miles de cuentas a la vez.
POST /socialc0de/registro.php
nombre=&usuario=&contra=&pais=&profesion=&edad=10®istrar=Registrar
Saludos.
La red social es vulnerable a EAR, que consta de seguir ejecutando el código de la página luego de una verificación, ejemplo:
<?php
$_SESSION['username'] = "user";
if ($_SESSION['username'] !== "admin")
{
header("Location: index.php");
}
echo "Priv8 zone!";
?>
La solución es colocar un exit(); debajo del header location.
Vuln 2. Input Validation
Por lo que vi, las imágenes subidas a las publicaciones se guardan como USERIDnombre_de_la_foto.ext.
Por ejemplo, user id = 1, foto = cat.jpg, resultado = 1cat.jpg
Si yo subo una foto de un gato con el nombre "cat.jpg", y luego, en otra publicación subo una foto de un perro con el mismo nombre (cat.jpg), se sobrescribe la foto anterior.
La solución sería usar algún tipo de ID único, como la función uniqid() de PHP.
Vuln 3. Insecure Direct Object Reference
Es posible "auto aceptarse" la solicitud de amistad (Gracias Bartz por aceptarme como amigo


1. Enviar petición de amistad (GET /socialc0de/perfil.php?CodUsua=ID&&agregar=ID).
2. Enviar la siguiente petición GET: GET /socialc0de/solicitud.php?env=TUID&&rec=ID&&accion=1
Vuln 4. Input Validation
Es posible agregarse a uno mismo como amigo. Mismo procedimiento que la vuln 3.
GET /socialc0de/perfil.php?CodUsua=TUID&&agregar=TUID
Así mismo, es posible recibir varias solicitudes de amistad de una misma persona (y al aceptarla, aumentar el número de amigos).
Vuln 5. Input Validation
Al registrarse, verifica correctamente si se utiliza un nombre de usuario ya existencia, pero esto no sucede al editar el perfil, pues puedo utilizar usuarios ya registrados (en este caso utilicé el tuyo), bloqueando la cuenta "duplicada", pues, es imposible loguearse.
P.S.: Deberías agregar un captcha al registro, para evitar spambots que creen miles de cuentas a la vez.
POST /socialc0de/registro.php
nombre=&usuario=&contra=&pais=&profesion=&edad=10®istrar=Registrar
Saludos.