漏洞介绍:
可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务
将 HTTP 头设置为“http://bogus.referer.ibm.com”
解决办法:
验证HTTP Referer字段
根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。在通常情况下,访问一个安全受限页面的请求必须来自于同一个网站。比如某官网是通过用户访问http://www.test/test页面完成,用户必须先登录www.test,然后通过点击页面上的按钮来触发某某事件。当用户提交请求时,该请求的Referer值就会是按钮所在页面的URL(本例中,通常是以www. test域名开头的地址)。而如果攻击者要对网站实施CSRF攻击,他只能在自己的网站构造请求,当用户通过攻击者的网站发送请求到网站时,该请求的Referer是指向攻击者的网站。因此,要防御CSRF攻击,网站只需要对于每一个页面请求验证其Referer值,如果是以www. test开头的域名,则说明该请求是来自网站自己的请求,是合法的。如果Referer是其他网站的话,就有可能是CSRF攻击,则拒绝该请求。
代码示例:
在服务器端的拦截器必不可少,它将负责检查到来的请求是否符合要求,然后视结果而决定是否继续请求或者丢弃。在 Java 中,拦截器是由 Filte
IBM Security Appscan漏洞--跨站点请求伪造
最新推荐文章于 2024-07-16 10:30:07 发布
本文介绍了IBM Security Appscan中发现的跨站点请求伪造漏洞,详细阐述了漏洞可能导致的风险,如会话和cookie窃取。为解决这个问题,文章提出通过验证HTTP Referer字段来防御CSRF攻击。在服务器端,可以使用Java Filter作为拦截器,检查Referer字段是否以特定域名开头,以确保请求合法性。若Referer不符合要求,请求将被拦截并转向错误页面。欢迎读者提供更优解决方案。
摘要由CSDN通过智能技术生成