iOS开发 - 关于@rpath的安全问题

在使用MobSF安全检测工具中,会遇到一项warning

The binary has Runpath Search Path (@rpath) set. In certain cases an attacker can abuse this feature to run arbitrary executable for code execution and privilege escalation. Remove the compiler option -rpath to remove @rpath.

关于如何安装MobSF可以看我的上一篇文章

https://www.jianshu.com/p/eb5de987dc43

首先关于@rpath或者-rpath的文章比较少,几乎翻遍了百度和Google. 在Xcode上也不会有相关的配置选项,这一个问题前后困扰了近半个月。。。(手动吐血🤮)
后来经过团队同事发现了一篇关于MobSF的相关报错解决办法文章,附上链接
https://inesmartins.github.io/mobsf-ipa-binary-analysis-step-by-step/index.html

深渊大坑

小弟才疏学浅,没有办法得知这个MobSF是如何报出这个警告的。但从实际自检情况下,即便我们的Unix执行文件没有包含@rpath开头的链接库,也依然继续报这个警告
MobSF报告.png

那如何对自己的ipa包进行自检?

  1. 用解压工具把ipa包解压,得到一个Payload文件夹下的包
    解压后的包.png
  2. 右键 显示包内容 之后,会看到一个Unix可执行文件
    Unix文件.png
  3. 打开终端输入

otool -L 这个Unix文件的路径
  1. 得出结果并没有以 @rpath开头的链接库
    otool.png
  2. 终极大招,在Build Settings下搜索Runpath Search Paths

    把release环境下的值全删掉
    RunPathSearchPaths.png
  3. 再扔给MobSF分析,成功,但实际App上的功能还得全面回归测试...
    @rpath.png

打完收工! MobSF再见👋

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容