我在移动端常用的安全检测方式
1.IOS端
IOS系统下的APP不能反编译(能反编译一些无用的包含头文件的代码),就只能用抓包工具进行检测
这部分设置好代理(Burp,Charles)以后与常规的Web安全检测没什么区别不做过多介绍
2.Android
1.抓包(Web安全检测)
2.反编译
APK TOOL:这是谷歌提供的的编译工具,我们知道APK其实就是一个压缩文件,我们完全可以把.apk文件后缀改成.zip,这样我们就可以获取里面的资源文件(图片,res目录下的xml文件)和AndroidManifest.xml(这个是乱码的)如果你使用 apk tool 来进行反编译 apk 就不会出现这种问题了
AndroidManifest.xml包含了Android相关开发的所需的配置项,有些配置项默认是打开并且不安全的,具体相关内容可以查询Google的开发文档
dex2jar:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui:用来查看 jar 包里面的代码的一种工具。
上面两款工具基本上会逆向App的都用过。能反编译部分的出来apk代码。这就跟一般的代码审计一样需要看代码的业务功能来找,我特别喜欢来找一些敏感信息泄露。一些App与后端的加密方式或者Key之类的会放在App的代码中,这部分能被反编译出来
Android调试桥(Adb)
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
他是一款调试工具,相当于App的shell
Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider)
Android四大组件是能直接通过ADB启动的
举一个例子.我们有一个Activity是验证,类似 VerifyActivity验证完进入MainActivity 但在ADB下你可以直接使用ADB启动MainActivity从而跳过VerifyActivity造成一个跳过验证的安全问题
以上是我大概是移动端会用到的安全检测
上面每一个检测都可以单独写一篇篇幅不小的文章,这里简要描述一下