Java Map类型CodeQL相关类的关联

  • A+
所属分类:安全开发

1、背景描述

通过编写CodeQL脚本来查询响应包中是否包含了我所关心的敏感数据(例如手机号、身份证号),其中的一种情景是返回值是Map类型的变量,所以分享一下CodeQL对Map类型的一些支持。

2、CodeQL Maps模块提供的类

FreshMap

用来表示new一个Map类型的表达式

Java Map类型CodeQL相关类的关联

MapType

用来表示Map类型

1)用来表示Map对象方法的类

MapMethod

用来表示Map类型的对象所有的方法

MapMutator

用来表示Map类型里面赋值相关的方法

Java Map类型CodeQL相关类的关联

MapQueryMethod

用来表示Map类型里面查询相关的方法

Java Map类型CodeQL相关类的关联

MapSizeMethod

用来表示Map类型的Size方法

2)用来表示调用了Map对象方法的类

MapMutation

查看所有调用了Map对象任意方法的表达式

MapPutCall

查看所有调用了Map对象put方法的表达式

3、实践

CodeQL提供的Java Map类型的操作类中,在实际使用中用的比较多便是MapPutCall, MapType这两个类,通过下面这两个例子来展示一个Map类型的变量如何关联这两个类。


需求:return语句中调用了Map类型的变量mapVar,获取mapVar的key和value

Java Map类型CodeQL相关类的关联


需求:return语句中调用了Map类型的变量mapVar,获取mapVal所有value的类型

这个需求的话直接用MapType会更加便捷

Java Map类型CodeQL相关类的关联

相关推荐: 关于成立城市轨道交通信息安全专项工作n总体协调组和专家组的通知

城市轨道交通信息安全专项工作各有关单位:根据中国城市轨道交通协会工作安排,信息化专委会牵头开展城市轨道交通信息安全专项工作,围绕信息安全基础技术研究、标准体系建设、产品检测和认证、建立常态化安全服务机制、网络与信息安全培训五大方面开展,以提升行业整体信息安全防…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: