[发明专利]一种识别网页中CSRFtoken元素的方法在审
申请号: | 201611107166.9 | 申请日: | 2016-12-06 |
公开(公告)号: | CN106776975A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 周海啸 | 申请(专利权)人: | 成都知道创宇信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 成都信博专利代理有限责任公司51200 | 代理人: | 张辉,崔建中 |
地址: | 610000 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 识别 网页 csrftoken 元素 方法 | ||
技术领域
本发明涉及CSRF识别领域,具体涉及一种识别网页中CSRF token元素的方法。
背景技术
CSRF攻击之所以能够成功,是因为攻击者可以伪造用户的请求,该请求中所有的用户验证信息都存在于Cookie中,因此攻击者可以在不知道这些验证信息的情况下直接利用用户自己的Cookie来通过安全验证。由此可知,抵御CSRF攻击的关键在于:在请求中放入攻击者所不能伪造的信息,并且该信息不存在于Cookie之中。
系统开发者可以在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。这种网页表单中嵌入CSRF token的方法有效阻止了点击链接触发CSRF漏洞,但同时对于自动化漏洞检测工具也造成了拦截,导致自动化漏洞检测工具不能够正常提交网页表单请求,造成对网页表单中的输入参数的漏洞不能进行检测。
现有技术通过收集常见Web框架的CSRF token值名称作为黑名单,例如表单input名称为token,csrf_token,csrfmiddlewaretoken等,这些参数名称在黑名单中,那么在HTTP请求过程中就认为是CSRF token参数。在后续的HTTP请求中会获取CSRF token参数值,构造正确的不被服务端拦截的HTTP请求。
因为是基于黑名单方式来判别是否是CSRF token参数,这种方式依赖收集的黑名单库的数量及准确性,存在大量的漏报情况,覆盖不全,不能收集覆盖所有的网页表单中CSRF token的参数名称。也会对网页表单中某些正常的,非CSRF token表单参数造成误判。
相关术语解释
CSRF:(Cross-Site Request Forgery,跨站点伪造请求)是一种网络攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在未授权的情况下执行在权限保护之下的操作,具有很大的危害性。具体来讲,可以这样理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作。
URL:统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
Form:网页表单,用于为用户输入创建HTML表单。表单用于向服务器传输数据。
莱文斯坦距离:又称Levenshtein距离,是编辑距离(edit distance)的一种,指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
发明内容
本发明所要解决的技术问题是提供一种识别网页中CSRF token元素的方法,通过对目标网页发起两次不同会话的HTTP请求,解析出网页表单中input类型为hidden的参数值,再通过判别计算参数值的莱文斯坦距离比例而不是黑名单名称来判别是否为CSRF token参数。
为解决上述技术问题,本发明采用的技术方案是:
一种识别网页中CSRF token元素的方法,包括以下步骤:
步骤1:创建HTTP第一个会话,通过获取目标页面源代码,检查页面源代码是否存在<form>标签,存在则进行后续步骤;
步骤2:检索第一个会话的网页源码<form>标签内是否存在input类型为hidden的表单元素,存在则进行后续步骤;
步骤3:创建HTTP第二个会话,通过获取目标页面源代码,检查页面源代码是否存在<form>标签,存在则进行后续步骤;
步骤4:检索第二个会话的网页源码<form>标签内是否存在input类型为hidden的表单元素,存在则进行后续步骤;
步骤5:依次比较第一个会话和第二个会话的表单中input类型为hidden的表单元素值,若相同input参数名称的值发生变化,则标记为疑似CSRF token值,进入后续步骤;
步骤6:计算疑似CSRF token表单元素值的莱文斯坦距离比例,若所得到的比例大于一个确定的阈值,则该参数的CSRF token随机性不够,做误报处理,否则,判别该参数为CSRF token。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都知道创宇信息技术有限公司,未经成都知道创宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611107166.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于配置的大数据监控方法及装置
- 下一篇:浏览对象显示方法、装置及设备