[发明专利]一种跨站点伪造请求的动态检测方法无效
申请号: | 201010206355.8 | 申请日: | 2010-06-23 |
公开(公告)号: | CN101883024A | 公开(公告)日: | 2010-11-10 |
发明(设计)人: | 彭树深;顾庆;陈道蓄 | 申请(专利权)人: | 南京大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210093 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 站点 伪造 请求 动态 检测 方法 | ||
1.一种跨站点伪造请求的动态检测方法。其特征在于以下步骤:
1)收集HTTP请求信息;
2)根据收集到的信息,检测每个请求是否为CSRF嫌疑请求;
3)针对每个CSRF嫌疑请求,找出其所包含的全部嫌疑参数,为每个嫌疑参数生成一个伪造参数,再利用每个伪造参数生成一个对应的伪造请求,而每一个伪造请求再生成一个测试用例;
4)在生成嫌疑请求的环境重现时,执行每一个步骤3)生成的测试用例所对应的伪造请求,执行过程中,收集伪造请求的执行信息;
5)根据嫌疑请求、嫌疑请求的执行信息、伪造请求和伪造请求的执行信息,检测伪造请求是否发现了Web应用中的CSRF漏洞,并形成报告,帮助Web应用开发者修复漏洞。
2.根据权利要求1所述的跨站点伪造请求的动态检测方法,其特征在于步骤1)的具体过程是:设计一个HTTP信息收集模块,并部署在待测试的Web应用中;该HTTP信息收集模块分成两个部分,其一是请求信息收集模块,收集HTTP请求中的信息为:(1)请求的URL、时间和请求方法,(2)GET数据和POST数据;其二是SQL语句收集函数,收集HTTP请求中的信息为(3)动态生成的SQL语句。
3.根据权利要求1或2所述的跨站点伪造请求的动态检测方法,其特征在于步骤2)的检测CSRF嫌疑请求的具体过程为:首先根据收集到的HTTP请求获取GET参数和POST参数集合;然后获取HTTP请求对应的修改型SQL语句操作数集合;最后分析HTTP参数和SQL操作数之间的关联;如果至少存在一个HTTP参数的值和某个操作数的值相等,那么该请求即为嫌疑请求,和操作数值相等的HTTP参数为嫌疑参数。
4.根据权利要求1或2所述的跨站点伪造请求的动态检测方法,其特征在于步骤3)的生成伪造参数过程是:针对嫌疑请求Rs,首先找出Rs的嫌疑参数集合,为每个嫌疑参数生成一个伪造参数,伪造参数的name和嫌疑参数的name相同,伪造参数的value按三种情况处理:整型数,浮点型数和字符串型;构造伪造参数value的对应规则如下:
规则1.如果value为一个整型数,分两种情况处理:
a)如果value为一个大于1的整数,则value减1;
b)如果value为一个小于或者等于1的整数,则value加1;
规则2.如果value为浮点型数。则将value最后一位加1再对10取余;
规则3.如果value为字符串型,分三种情况处理:
a)如果value最后两个字符不相同,则把这两个字符互换位置;
b)如果value最后两个字符相同,则比较倒数第一个和倒数第三个,如果也相同,则继续往前找,直到找到一个和最后一个字符不相同的字符为止;再把它们交换位置;
c)如果value只包含一个字符或者所有字符都相同,且最后一个字符不是‘a’,则直接把最后一个字符用‘a’替换;
如果value只包含一个字符或者所有字符都相同,且最后一个字符是‘a’,则直接把最后一个字符用‘b’替换。
5.根据权利要求4所述的跨站点伪造请求的动态检测方法,其特征在于伪造请求生成测试用例分两种情况:
情况1.如果请求方法为GET,此时用一个图像(IMG)标签来表示该请求。请求的GET参数附加在原URL之后形成新的URL;该URL设置为IMG标签的源(SRC)属性;在该IMG标签之外添加HTML文档声明之后,保存为一个静态文件,这个静态文件即测试用例;
情况2.如果请求方法为POST,此时用一个表单(FORM)标签来表示该请求;请求的GET参数附加在原URL之后形成新的URL;该URL设置为FORM标签的动作(ACTION)属性;请求的POST参数作为隐藏域放在FORM标签中;在该FORM标签之外添加HTML文档声明之后,保存为一个静态文件,这个静态文件即测试用例。
6.根据权利要求1或2所述的跨站点伪造请求的动态检测方法,其特征在于步骤4)的测试用例执行过程为:首先用浏览器打开嫌疑请求所在的Web应用,重现生成嫌疑请求的环境条件;然后用同一浏览器逐个执行嫌疑请求的测试用例,即打开对应的静态HTML文件;最后运用HTTP信息收集模块收集测试用例的执行信息。
7.根据权利要求1或2所述的跨站点伪造请求的动态检测方法,其特征在于步骤5)的CSRF漏洞的检测过程为:首先提取每一个测试用例的执行信息,该信息对应一个伪造请求Rf,找出伪造请求Rf所对应的嫌疑请求Rs、Rf所有的嫌疑参数、Rf对应的伪造参数、以及伪造参数对应的嫌疑参数;如果Rf伪造参数的值成为了Rf某个修改型SQL语句的操作数,且其伪造参数的值所在的SQL语句和嫌疑参数的值所在SQL语句相似,且这两个值在各自SQL语句中的位置相同,那么通过这个请求就发现了Web应用中的CSRF漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010206355.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:钢筋网压焊机横筋自动上料机构
- 下一篇:功能层为单层有机材料的有机太阳能电池