当前很多APP对数据包做了强加密,比如利用DES、AES加密等等,尤其是金融类APP,那么当我们利用burpsuite这类抓包工具进行测试的时候会发现,抓取到的数据包全是密文,就没办法进行改包以测试安全问题了。面对这种场景,又该如何进行安全测试?
Frida 工具这里介绍一个Hook工具frida,并以实际案例进行测试分析。首先frida是一个有效的插桩工具,插桩是指将额外的代码注入程序中以收集运行时的信息,可分为两种:
静态二进制插桩[Static Binary Instrumentation(SBI)]:在程序执行前插入额外的代码和数据,生成一个永久改变的可执行文件。
动态二进制插桩[Dynamic Binary Instrumentation(DBI)]:在程序运行时实时地插入额外代码和数据,对可执行文件没有任何永久改变。
Frida就是一个动态二进制插桩工具,其在使用时需要在Android平台上需要配置一个frida-server,二进制动态插桩技术的原理是使用了 ptrace 附加到目标进程上,访问进程的内存、Hook和跟踪以及拦截函数等等。
安装与使用环境:win10 python3.7
1、下载frida模块
https://files.pythonhosted.org/packages/c3/01/c5ff8c86401066e8d4f747517d7037872879558ca175f3c16850ee0be12a/frida-12.8.20-py3.7-win-amd64.egg
2、进入python3.7目录,利用easy_install离线安装上述下载的模块
3、pip3.7安装frida-tools
4、可以执行安装完目录下的frida-ps看到系统进程验证安装成功
5、下载手机可用server端,跟客户端版本一致
https://github.com/frida/frida/releases
注意:模拟器中下载版本x86版本,不然可能报错:unable to inject library into process without libc