墨者靶场练习,以前ctf也有类似的只允许某个来源访问,如学校的ip访问。
我想,限制来源本身是为了进行访问控制,只允许规定内的资源访问。那么如果限制做的不够好,就会有人利用来源伪造来实施破坏行为,本次实验意义在于理解如何伪造,在日后安全开发要避免出现这样的疏忽。
原理:
在php中有超级变量 $_SERVER存储着浏览器的诸多信息,本次实验的“来源”信息也能从这个超级变量里找到。所里如果能修改来源可能能做到伪造。
$_SERVER[”HTTP_REFERER]
步骤很简单,bp抓包,修改来源头放包就能伪造来源。
真实使用中,设置来源验证是防止:CSRF攻击(跨站请求伪造)
csrf情景:某个网站管理员喜欢浏览其他网页,当浏览带有恶意脚本的网页,管理员的浏览器就被劫持获取一些凭据,管理网站的信息等然后跳转到网站,如果不检测来源,就会被直接访问资源了。
qq被盗号,登陆着qq浏览到带有恶意代码的网页,我们的身份信息被盗用,也就是使用了合法的来源信息去进行违法的事情。
伪造ip的话也同样道理,php接收ip有多种方式,最好绕过是
$_SERVER[‘HTTP_X_FORWARD_FOR’]
当如果获取ip方式走其他协议,就不能这么利用。比如服务器的协议检测基本没办法绕
