APP安全测试填坑

1829 篇文章 51 订阅
1221 篇文章 21 订阅

在实习过程中,我接触到了一些SDL安全提测的工作。原来我是学web端渗透比较多的,移动端这块基本没怎么试过手,结果刚开始一直踩坑,连抓包都抓不到(T▽T)。

下面记录下我遇到的部分问题和解决方法,由于问题都太基础了,没好意思请教大佬同事,基本都是自己学习解决的,大家看得不爽轻喷,有误请指教~

移动端抓包配置(Android)

材料:root手机、Magisk框架、EdXposed框架、riru-edxposed模块

这里建议大家可以直接买好root的手机,某宝某鱼都可以,直接让老板帮你把面具和EdXposed框架安装好会节省很多时间,我自己也是直接买了一个小米的root机。

拿到手机,首先和web端抓包一样,需要导入自己的burp证书。从这里导出证书,修改为cer格式,上传安装到手机里。手机通常在设置->系统安全->加密与凭证,可以从存储设备安装。

在这里插入图片描述

证书安装以后,配置代理,这里跟web端抓包也是一样的。让手机和电脑处于同一网络下,在burp->Proxy->Options这里添加监听器,ip是电脑ip,端口随意设置即可,其余的都不用修改

在这里插入图片描述

移动端这边可以直接在wifi设置里添加手动代理,如果觉得麻烦也可以使用Drony一类的代理软件

在这里插入图片描述

完成这些就可以抓到简单的APP数据包了,如果只需要测试一些无壳或没有什么安全验证机制的APP到这里就差不多了。简单的测试需求直接用模拟器就够了,可以百度下教程很多。

解决证书问题

很多情况下,由于Android 10的一些机制,我们自己导入的证书会不能使用,导致抓不到包。这里我们需要用到Move Certificates模块将用户证书转为系统证书,下面是教程。

Move Certificates模块可以直接在Magisk框架里安装,也可以去github上面下载再本地安装。安装后启动模块

在这里插入图片描述

重启手机,可以看到用户证书转为了系统证书

在这里插入图片描述

绕过ssl校验

如果APP的流量采取HTTPS协议传输,会对ssl进行校验。我测试过程中遇到很多APP前面的配置都没问题还是抓不到包,查看终端报错信息如下

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found

或

javax.net.ssl.SSLPeerUnverifiedException: Certificate pinning failure!
  Peer certificate chain:

看起来应该是ssl的检测机制产生的问题,可以使用SSLUnpinning模块绕过。

SSLUnpinning模块可以直接在EdXposed Manager里下载,如果下载不了,可能需要挂一下VPN,也可以去github下载自行安装。github链接

在这里插入图片描述

添加完记得把模块启动,不然不会生效

在这里插入图片描述

在SSLUnpinning中选择你要测试的app即可,这里貌似随便选一个就会让所有app都实现绕过。

在这里插入图片描述

测试可以正常抓包

在这里插入图片描述

【持续补充中…】

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
App安全测试可以通过以下几个方面进行测评。首先,需要关注服务端API安全、业务逻辑安全、中间件安全和服务器应用安全。可以通过渗透测试的方式对App的服务器进行安全检测,模拟恶意攻击方式进行对服务器攻击,从而提高App服务器的安全性。\[1\] 其次,可以在每次启动App时进行自身完整性校验,验证App逻辑中是否存在不属于App的文件。这个过程可以与服务端进行结合完成,确保App的完整性和安全性。\[2\] 此外,还需要对数字证书的合法性进行验证。即使使用了安全通信,如HTTPS,也需要在客户端代码中对服务端证书进行合法性校验。可以使用Fiddler工具模拟中间人攻击方法,如果客户端对于Fiddler证书没有校验而能正常调用,则存在安全隐患。\[3\] 综上所述,App安全测试可以通过渗透测试、完整性校验和数字证书合法性验证等方式进行。这些方法可以帮助发现潜在的安全漏洞并提高App的安全性。 #### 引用[.reference_title] - *1* *2* [App 安全测试](https://blog.csdn.net/weixin_38754349/article/details/119922447)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [app安全测试要点](https://blog.csdn.net/luaijai/article/details/103874952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值