System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件安全程序分析,尤其涉及一种基于web api的隐私信息泄露和横向提权的检测方法及系统。
技术介绍
1、近年来,前后端分离已成为互联网项目开发的行业标准。这种开发方式将传统的单体应用中的前端和后端进行物理分离,并通过约定的接口进行数据交互,从而大大提升了系统的灵活性和可维护性。
2、前后端分离开发模式是通过web api实现了前端和后端的解耦,使得前后端可以独立开发和部署。前端开发人员可以专注于用户界面和用户体验,后端开发人员则可以专注于业务逻辑和数据处理。api作为前后端交互的桥梁,确保了系统的灵活性和可维护性。
3、通过定义明确的api接口,前端和后端可以并行开发,无需等待彼此的完成。前端开发人员可以根据api文档进行开发,而后端开发人员可以根据api规范提供数据和服务。这样可以大大提升开发效率,缩短项目的开发周期。
4、api作为前后端的契约,规定了数据的格式、接口的调用方式和参数的传递规则。这种明确的接口定义使得团队内的不同角色可以更好地协作。前端开发人员可以依赖于api进行开发,而后端开发人员可以根据api的需求进行接口的实现。这样可以减少沟通成本,提升团队的协作效率。
5、综上所述,api在web信息系统中的重要性体现在它作为前后端交互和通信的桥梁,提升了开发效率、促进了团队协作、提供了数据安全和权限控制,并支持系统的扩展和集成。然而在当前的web安全工具中,绝大多数针对web系统日志和服务器访问日志开展相关的越权提权检测,尚未发现有同时关注隐私泄露和越
技术实现思路
1、本专利技术提供了一种基于web api的隐私信息泄露和横向提权的检测方法及系统,用以解决或者至少部分解决现有技术中检测有效性不高的技术问题。
2、为了解决上述技术问题,本专利技术第一方面提供了一种基于web api的隐私信息泄露和横向提权的检测方法,包括:
3、s1:对http流量数据进行过滤,得到请求数据,对服务端的响应数据进行记录,其中,请求数据包括用于referer、主机名、端口、路径、http方法和api url,referer为web数据请求来源页面,并构建以referer为根节点,api url为子节点的一次请求merkel树;
4、s2:对请求数据与响应数据进行识别,识别出具有隐私和敏感数据的api及参数;基于一次请求merkel树对服务器端的响应数据和web信息系统的界面数据进行差异识别,识别当前系统页面是否存在敏感数据过载问题;
5、s3:将步骤s2识别出的具有隐私和敏感数据的api及参数做差分和穷举处理,构建出二次请求api url集合,将二次请求api url和响应数据进行扩展,获得以初次请求referer的hash值为根节点,初次请求url的hash为二级节点,二次请求url的hash值为叶子节点的二次请求merkel树;基于二次请求merkel树对服务器端的响应数据和web信息系统的界面数据进行差异识别;
6、s4:根据s2的敏感和隐私数据识别结果、s3的响应数据与界面数据的差异识别情况,生成web api动态分析结果,其中,web api动态分析结果包括所识别出的隐私和敏感数据、api地址、网页地址以及是否存在横向攻击的风险。
7、在一种实施方式中,响应数据包括返回数据的内容类型、html数据、json数据。
8、在一种实施方式中,对请求数据与响应数据进行识别,识别出具有隐私和敏感数据的api及参数,包括:
9、构建敏感和隐私数据集,利用敏感和隐私数据集对bilstm-crf模型进行训练与测试,再利用训练好的模型对请求数据与响应数据进行识别,识别出具有隐私和敏感数据的api及参数。
10、在一种实施方式中,将步骤s2识别出的具有隐私和敏感数据的api及参数做差分和穷举处理,构建出二次请求api url集合,具体包括:
11、获取结合集合p和v,其中集合p={p1,p2,p3,...,pk},集合v={v1,v2,v3,...,vk};
12、对集合v做δm的增量处理,得到集合vm:
13、展开如下:
14、
15、对集合vm和集合p做笛卡尔积处理,得到集合s1:
16、记s1=p×vm={(pi,vji)|pi∈p,vji∈vm},展开如下:
17、
18、其中,在集合s1展开中,每一行都是一次请求的参数和对应的值:
19、对集合s1做中的每一行均做随机差分处理,对参数和参数值块进行随机删减,构建差分后的参数和参数值块,得到集合s2,具体定义如下:
20、s2={a1,a2,…,ai,…,a(k-d)},ai∈(pi,vji),0<d<k
21、s2展开如下:
22、
23、对集合s1和集合s2求并集(s=s1∪s2={s1,s2}),得到二次请求集合s,其中,p表示parameters,请求参数集合;pk是p参数集合中任意一个参数值;v表示values,请求参数对应的值集合;vk是v参数值集合中任意一个参数值;vm表示做了穷举增量后的请求参数值集合;vji是vm请求参数值穷举处理后集合中的第j行的任意一个参数值;k是请求参数和其对应值的个数;n是穷举增量的起始值,m是做穷举增量结束值,τ是[n,m]之间的任意整数;d是差分的随机公差数;ai是集合s2中的任意一个(pi,vji)参数值块,由其参数和差分、穷举后的参数值构成;s1是穷举处理后的请求参数和对应值的集合;s2是先通过穷举,再进一步做随机差分处理的请求参数和对应值的集合;s是s1和s2的并集,穷举和差分处理后的所构建的二次请求参数和对应值的集合。
24、在一种实施方式中,基于二次请求merkel树对服务器端的响应数据和web信息系统的界面数据进行差异识别,包括:
25、对二次请求merkel树进行遍历,将初次请求的响应数据和二次请求的响应数据进行匹配识别,如果具有隐私和敏感数据的api在初次请求的响应数据和二次请求的响应数据有差异,则该具有隐私和敏感数据的api可能存在隐私敏感数据泄露风险和横向提权攻击风险。
26、在一种实施方式中,所述方法还包括基于web页面中的所呈现的html代码和api中json数据进行相关度分析,以判断api中所获取的数据与页面中呈现的数据是否超出数据最小化原则。
27、在一种实施方式中,基于web页面中的所呈现的html代码和api中json数据进行相关度分析,包括:
28、分析同一个页面下的响应数据中包含的html数据与界面数据中api的json数据的相关度是否超过差异阈值,如果超过,则表明当前系统页面存在敏感数据过载问题。
29、基于同样的专利技术构思,本专利技术第二方面提供了一种基于web api的隐私信本文档来自技高网...
【技术保护点】
1.一种基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,包括:
2.如权利要求1所述的基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,响应数据包括返回数据的内容类型、HTML数据、JSON数据。
3.如权利要求1所述的基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,对请求数据与响应数据进行识别,识别出具有隐私和敏感数据的API及参数,包括:
4.如权利要求1所述的基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,将步骤S2识别出的具有隐私和敏感数据的API及参数做差分和穷举处理,构建出二次请求API URL集合,具体包括:
5.如权利要求1所述的基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,基于二次请求Merkel树对服务器端的响应数据和Web信息系统的界面数据进行差异识别,包括:
6.如权利要求1所述的基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,所述方法还包括基于Web页面中的所呈现的HTML代码和API中J
7.如权利要求6所述的基于Web API的隐私信息泄露和横向提权的检测方法,其特征在于,基于Web页面中的所呈现的HTML代码和API中JSON数据进行相关度分析,包括:
8.一种基于Web API的隐私信息泄露和横向提权的检测系统,其特征在于,包括:
9.如权利要求8所述的基于Web API的隐私信息泄露和横向提权的检测系统,其特征在于,检测报告生成器还用于基于Web页面中的所呈现的HTML代码和API中JSON数据进行相关度分析,以判断API中所获取的数据与页面中呈现的数据是否超出数据最小化原则。
...【技术特征摘要】
1.一种基于web api的隐私信息泄露和横向提权的检测方法,其特征在于,包括:
2.如权利要求1所述的基于web api的隐私信息泄露和横向提权的检测方法,其特征在于,响应数据包括返回数据的内容类型、html数据、json数据。
3.如权利要求1所述的基于web api的隐私信息泄露和横向提权的检测方法,其特征在于,对请求数据与响应数据进行识别,识别出具有隐私和敏感数据的api及参数,包括:
4.如权利要求1所述的基于web api的隐私信息泄露和横向提权的检测方法,其特征在于,将步骤s2识别出的具有隐私和敏感数据的api及参数做差分和穷举处理,构建出二次请求api url集合,具体包括:
5.如权利要求1所述的基于web api的隐私信息泄露和横向提权的检测方法,其特征在于,基于二次请求merkel树对服务器端的响应数据和web信息系统的界面数据进行差异...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。