1. Referer防御CSRF原理
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。当用户点击被构造好的CSRF利用页面,那么在执行用户对应操作时,提交的HTTP请求中就有对应的Referer值,此时服务端判断Referer值是否与服务器的域名信息有关。如果不相关则不执行操作。
2. Referer防御代码编写
在PHP中使用 $_SERVER[‘HTTP_REFERER’] 获取页面提交请求中的Referer值。
3. 绕过Referer技巧
技巧:如果服务端只判断当前的Referer中是否具有域名,那么直接可以新建文件夹进行绕过。
4. Burpsutie自动生成POC
利用Burpsuite自动生成CSRF POC。