CSRF漏洞之验证referer

public class CSRFUtil {
    public static boolean validCsrfAddress(String local,String referer) {
        String[] whiteList = { local, "xx.com"};
        if (org.apache.commons.lang3.StringUtils.isEmpty(referer)) {
            return false;
        }
        if (org.apache.commons.lang3.StringUtils.isEmpty(local)) {
            return false;
        }
        if (referer.contains("?")) {
            referer = referer.substring(0, referer.indexOf("?"));
        }
        URI referUri = null;
        try {
            referUri = new URI(referer);
        } catch (URISyntaxException e) {
            return false;
        }
        String domain = referUri.getHost().toLowerCase();

        for (int i = 0; i < whiteList.length; i++) {
            if (whiteList[i].toLowerCase().equals(domain)) {
                return true;
            }
        }
        return false;
    }
}
时间: 2024-11-10 22:01:51

CSRF漏洞之验证referer的相关文章

php代码审计7审计csrf漏洞

跨站请求伪造,也有人写出xsrf,黑客伪造用户的http请求,然后将http请求发送给存在csrf的网站,网站执行了伪造的http请求,就引发了跨站请求伪造 漏洞危害:攻击者盗用了你的身份信息,以你的名义发送恶意请求,如发送邮件,消息,盗取你的账号,甚至购买物品,虚拟货币转账等 漏洞本质:攻击者获取到重要参数,成功构造一个伪造请求,如http://www.xx.xx/xx.php?xx=xx&&id=1 挖掘思路:管理后台,会员中心,添加用户等,被引用的核心文件里面有没有验证token和r

一次解决存储型xss和csrf漏洞的简单方法

目前我知道的,存储型xss解决方法:过滤转义用户输入的脚本.标签,csrf漏洞解决方法:校验referer.加token.加验证码 而referer校验是针对存在referer的情况,因为某些请求的head里没有referer,这时不能判断请求是非法的:加token,保存在哪是个问题,如果保存在session中,当集群部署时,session不同步会导致客户端的token与处理请求的服务器的token不一致:加验证码同样的道理,而且对用户体验非常不好. 由于xss和csrf都是改变用户请求参数来达

sql注入、js注入、csrf漏洞修复

以前没接触过网页安全方面的内容,正好这次碰巧客户有要求,学习了下,现将方案记录于此. Sql注入 解决方案: 服务器访问层的控制: 1.在过滤器,针对后缀为jsp.html.htm的访问进行过滤拦截,判断请求参数中是否包含敏感字符 2.在拦截其中,针对后缀为(.do )的Controller访问进行拦截,判断请求参数中是否包含敏感字符 数据访问层的控制: 1.由于我们采用MyBaties,所以在写Sql时,尽量按#号传参,能有效防止SQL注入 js注入 解决方案: 前端页面控制 1.在输入框中添

CSRF进阶之打造一个检测CSRF漏洞的脚本

前言: 还记得之前所学的CSRF漏洞吧.因为没有对表单做好对应的漏洞 而造成的CSRF漏洞.学了这个漏洞后逐渐的了解.这个比较鸡助. 代码: import requests,tqdm,time,os,re logo=""" ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇◇◇◇◇

csrf漏洞原理

什么是csrf漏洞 CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF. csrf漏洞的危害 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全. 经常入选owasp漏洞列表Top10,在

利用BURPSUITE检测CSRF漏洞

CSRF漏洞的手动判定:修改referer头或直接删除referer头,看在提交表单时,网站是否还是正常响应. 下面演示用Burpsuite对CSRF进行鉴定. 抓包. 成功修改密码完成漏洞的利用. 原文地址:https://www.cnblogs.com/godoforange/p/10834684.html

近期重要漏洞攻击验证情况 2019-11-8

近期重要漏洞攻击验证情况 一.      Apache Solr Velocity TemplateCVE-2019-0193-RCE 验证描述 Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器.该产品支持层面搜索.垂直搜索.高亮显示搜索结果等. Apache Solr基于Velocity模板存在远程命令执行漏洞.该漏洞是由于Velocity模板存在注入所致.攻击者可利用漏洞访问Solr服务器上Core名称,先把params.re

浅谈CSRF漏洞

前言: 看完小迪老师的CSRF漏洞讲解.感觉不行 就自己百度学习.这是总结出来的. 歌曲: 正文: CSRF与xss和像,但是两个是完全不一样的东西. xss攻击(跨站脚本攻击)储存型的XSS由攻击者和受害者一同完成.xss详细介绍:点我跳转 CSRF(跨站脚本伪造)完全由受害者完成.攻击者不参与其中.CSRF详细介绍:点我跳转 CSRF原理: 银行转账的数据包:http://jianse.com/zhuanzhang.php?name=lu&[email protected]&monet

phpMyAdmin 4.7.x CSRF 漏洞利用

phpMyAdmin 4.7.x CSRF 漏洞利用 phpMyAdmin phpMyAdmin是一个以PHP++(一种开源脚本语言)++为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库.借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便.其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面