前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >APK接口隐私安全测试

APK接口隐私安全测试

作者头像
用户5521279
发布2019-12-19 21:04:31
1.3K0
发布2019-12-19 21:04:31
举报
文章被收录于专栏:搜狗测试搜狗测试搜狗测试

大家好,今天给大家分享一下如何进行接口参数的隐私校验。 背景:应国家工信部要求,用户使用APP时,接口请求中禁止携带明文的Imei、AndroidID等敏感信息,需要测试部针对Apk进行接口的全面检查,遍历所有接口判断是否包含隐私信息。 刚看到这个需求时,很苦恼,思考后总结了两个阻碍测试的困难: 1、接口触发后,如何校验接口中有无携带敏感信息? 2、APP功能很多很多,接口300+,如何保障所有的请求都能遍历到而没有遗漏? 困难二至今还没有找到最佳方案,本文主要解决第一个困难。 经过沟通,思考,得出以下三个方案: 方案一、fiddler查询: 1、连接fiddler代理后,遍历所有APP功能; 2、测试完成后,在fiddler界面通过ctrl+F进行imei、android_id的查询,如果结果存在黄色背景,则说明该接口存在明文的敏感信息。

缺点:

  • fiddler占用大,查询效率极低:全部测试任务完成后,fiddler中的请求量会有成千上万条,此时进行查询,fiddler卡死风险很大。
  • 过滤慢,查询imei后,需要逐条检查,再查询android_id,再检查……

方案二、服务器过滤: 1、搭建测试服务器,手机代理到测试服务器; 2、配置server,将指定端口接收的请求按照原有域名转发,同时通过lua脚本进行header+body的分析,判断其中是否包含该手机的imei和android_id,若存在则打印log警告。 缺点:

  • 需要一台linux虚机服务器并编写配置处理文件;

方案三、fiddlerscript配置log+文件输出: 1、在fiddlerscript的beforerequest中配置,增加判断:

  • 若oSession.GetResquestBodyAsString()中包含imei或android_id,则通过FiddlerObject.log输出“body隐患”+url;
  • 若oSession.oRequest.headers.ToString()中包含imei或android_id,则通过FiddlerObject.log输出“header隐患”+url;
  • 最后通过导出接口保存文件的方式进行文档导出。

缺点:

  • 偶尔会出现异常(下面会解释)

对比发现,第三种方案最优,分析原因如下: 方案三优点:

  • 代码量少;
  • 可以实时监控log判断是否存在隐患;
  • 测试完成后有完整的结果输出。

测试过程中遇到的异常: 最初配置代码如下:

运行代码,进行app操作,瞬间几十个fiddler异常弹窗刷出。。。

进行逐行调试后发现问题出在打开log.txt文件的时候会报错,结合请求数量猜测,应该是请求刷出的速度太快,第一条请求打开了log.txt文件,在close未执行的时候第二条请求就又申请打开log.txt文件,因此出现权限错误异常。 将打开文件的代码放在判断条件后,可以有效的规避该问题:

以上,希望能给大家带来帮助。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档