本发明涉及一种检测水平越权漏洞的方法,具体涉及一种基于交互式应用检测技术的水平越权漏洞检测方法。
背景技术:
随着互联网技术的发展,web(worldwideweb,全球广域网,也称为万维网)应用的普及程度越来越高。web应用是通过web访问的应用程序,只需要在终端中安装浏览器,即可实现对各应用软件进行访问,方便了对应用软件的访问需求。
但是,互联网在给人们生活带来便利的同时,也使得不法分子对互联网的网络攻击大幅增加。web应用中,水平越权漏洞是常见的安全漏洞,攻击者利用该漏洞可能造成大量用户敏感数据泄密丢失、用户资金恶意盗刷等安全问题。因此,如何增强web应用的水平越权漏洞,提前发现安全隐患,已成为当前web应用的迫切需要。
因此,需要对现有技术进行改进,提供一种可以检测该漏洞的方法。
技术实现要素:
本发明要解决的技术问题是提供一种高效的基于交互式应用检测技术的水平越权漏洞检测方法。
为解决上述技术问题,本发明提供一种基于交互式应用检测技术的水平越权漏洞检测方法,包括以下步骤:
s1、通过中间语言修改技术,修改预收集的应用中获取请求中数据的方法,在这些方法中插入捕获请求数据的代码。
s2、当用户进行正常业务测试时,捕获请求数据的代码会捕获请求,记录请求中识别出用户的用户访问令牌apitoken。
s3、交叉替换记录的请求中的apitoken构建新的请求,将该请求再次发出,如果请求能拿到正确的结果,判断应用存在水平越权漏洞;否则,判断应用不存在水平越权漏洞。
作为对本发明基于交互式应用检测技术的水平越权漏洞检测方法的改进:
在步骤s1中,获取请求中数据的方法为getheader方法。
作为对本发明基于交互式应用检测技术的水平越权漏洞检测方法的进一步改进:
在步骤s1中,中间语言修改技术为对编程语言的中间层语言进行修改。
作为对本发明基于交互式应用检测技术的水平越权漏洞检测方法的进一步改进:
在步骤s2中,识别出用户的apitoken的方法为通过白名单匹配实现的,包括以下步骤:
预先将现有的或者一些可能的用户访问令牌apitoken的特征记录在白名单里,当用户的请求进入时,如果发现请求中含有白名单中的用户访问令牌apitoken的特征记录,则认为这是一个用户访问令牌。
作为对本发明基于交互式应用检测技术的水平越权漏洞检测方法的进一步改进:
用户访问令牌apitoken的特征记录为token字段。
作为对本发明基于交互式应用检测技术的水平越权漏洞检测方法的进一步改进:
交叉替换为将某一请求中的apitoken依次替换成其他请求中的apitoken构建新的请求,逐次将新的请求再次发出。
作为对本发明基于交互式应用检测技术的水平越权漏洞检测方法的进一步改进:
正确的结果的判断方式为:如果应答码为200就判断为正确的结果;否则,判断为错误的结果。
本发明基于交互式应用检测技术的水平越权漏洞检测方法的技术优势为:
本发明通过中间语言修改技术,修改预收集的应用中获取请求中数据的方法,在这些方法中插入捕获请求数据的代码。捕获请求数据的代码会捕获请求,记录请求中识别出用户的用户访问令牌apitoken。交叉替换记录的请求中的apitoken构建新的请求,判断应用存不存在水平越权漏洞。
本发明能自动的、快速的检测水平越权漏洞。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1是本发明基于交互式应用检测技术的水平越权漏洞检测方法的流程图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
实施例1、基于交互式应用检测技术的水平越权漏洞检测方法,如图1所示,包括以下步骤:
s1、通过中间语言修改技术,修改预收集的应用中获取请求中数据的方法,在这些方法中插入捕获请求数据的代码。
中间语言修改技术为通过现有的开源的或公开免费使用的程序对编程语言的中间层语言进行修改。
获取请求中数据的方法可以采用getheader方法等。
对于获取请求中数据的方法:不插入捕获请求数据的代码拿不到任何数据,插入捕获请求数据的代码可以拿到所有的请求的数据,比如httpheader和body。
s2、当用户进行正常业务测试时,捕获请求数据的代码会捕获请求,记录请求中识别出用户的用户访问令牌apitoken。
识别出用户的apitoken的方法为通过白名单匹配实现的,具体包括:
预先将现有的或者一些可能的“用户访问令牌”的特征记录在白名单里,例如,一般都会使用“token”字段存放令牌,就将该特征存放在白名单里,当用户的请求进入时,如果发现请求中含有“token”字段,则认为这是一个用户访问令牌。
s3、交叉替换记录的请求中的apitoken构建新的请求,将该请求再次发出,如果请求能拿到正确的结果,这说明应用存在水平越权漏洞;否则,说明应用不存在水平越权漏洞。
交叉替换为将某一请求中的apitoken依次替换成其他请求中的apitoken构建新的请求,逐次将新的请求再次发出。
正确的结果的判断方式为:如果应答码为200就判断为正确的结果,也可以根据业务情况自由设置相应的规则。
在使用过程中,当用户使用某个账号做正常的业务操作时,如果检测程序发现请求的api接口属于包含apitoken,则会交叉替换,重新构建请求,并发送请求。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
1.基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:包括以下步骤:
s1、通过中间语言修改技术,修改预收集的应用中获取请求中数据的方法,在这些方法中插入捕获请求数据的代码。
s2、当用户进行正常业务测试时,捕获请求数据的代码会捕获请求,记录请求中识别出用户的用户访问令牌apitoken。
s3、交叉替换记录的请求中的apitoken构建新的请求,将该请求再次发出,如果请求能拿到正确的结果,判断应用存在水平越权漏洞;否则,判断应用不存在水平越权漏洞。
2.根据权利要求1所述的基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:
在步骤s1中,获取请求中数据的方法为getheader方法。
3.根据权利要求1所述的基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:
在步骤s1中,中间语言修改技术为对编程语言的中间层语言进行修改。
4.根据权利要求2或3所述的基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:
在步骤s2中,识别出用户的apitoken的方法为通过白名单匹配实现的,包括以下步骤:
预先将现有的或者一些可能的用户访问令牌apitoken的特征记录在白名单里,当用户的请求进入时,如果发现请求中含有白名单中的用户访问令牌apitoken的特征记录,则认为这是一个用户访问令牌。
5.根据权利要求4所述的基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:
用户访问令牌apitoken的特征记录为token字段。
6.根据权利要求5所述的基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:
交叉替换为将某一请求中的apitoken依次替换成其他请求中的apitoken构建新的请求,逐次将新的请求再次发出。
7.根据权利要求6所述的基于交互式应用检测技术的水平越权漏洞检测方法,其特征在于:
正确的结果的判断方式为:如果应答码为200就判断为正确的结果;否则,判断为错误的结果。
技术总结