安全测试,接口返回内容遍历~

编程入门 行业动态 更新时间:2024-10-22 20:28:20

安全测试,接口返回内容<a href=https://www.elefans.com/category/jswz/34/1771029.html style=遍历~"/>

安全测试,接口返回内容遍历~

最近公司被人大量爬取数据,查了一下发现,用户主页接口,没有加用户登录校验,返回了用户的敏感信息有手机号和邮箱,其实这个接口是用不到这些信息的。再加上用户id是自增长的,所以很容易被别人爬取。

既然这个接口返回的敏感信息是不必要的,所以第一步:隐藏接口返回敏感信息。由开发完成。

反过来看,测试人员除了测试确保被暴露的接口修改返回信息,没有影响业务功能后,还能做什么呢?这个时候,接口自动化的重要性就体现了。

写了一个遍历的方法,遍历项目里所有的接口返回是否包含敏感信息,如果有返回敏感信息,则返回接口URI,body及敏感字段名,方便判断是否必要调整。

def get_all_keys(uri,body,json_obj):keys_set = set()def extract_keys(obj):if isinstance(obj, dict):keys_set.update(obj.keys())for value in obj.values():extract_keys(value)elif isinstance(obj, list):for item in obj:extract_keys(item)extract_keys(json_obj)strArr = "{'idCard', 'IDCard', 'idNo', 'mobile', 'phone', 'tel', 'email', 'cardNumber'}"common_elements = set(keys_set) & set(eval(strArr))if len(common_elements)!=0:return uri,body,list(common_elements)

之后在每个接口脚本调用这个方法,即可。最后在接口测试报告里找一下出错的接口,就可以直观的发现哪些接口存在安全隐患。如下面的测试报告,可以看到fail的用例,因为这个接口返回了mobile和email两个敏感信息。

更多推荐

安全测试,接口返回内容遍历~

本文发布于:2023-11-15 21:50:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1606877.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:遍历   接口   测试   内容

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!