APP安全测试填坑

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

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

移动端抓包配置(Android)

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

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

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

APP安全测试填坑_第1张图片

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

APP安全测试填坑_第2张图片

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

APP安全测试填坑_第3张图片

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

解决证书问题

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

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

APP安全测试填坑_第4张图片

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

APP安全测试填坑_第5张图片

绕过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链接

APP安全测试填坑_第6张图片

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

APP安全测试填坑_第7张图片

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

APP安全测试填坑_第8张图片

测试可以正常抓包

APP安全测试填坑_第9张图片

【持续补充中…】


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

你可能感兴趣的:(软件测试工程师,自动化测试,软件测试,功能测试,软件测试,自动化测试,职场和发展,程序人生)