Android应用安全 | Android应用基础知识和代理抓包
Posted 灼剑(Tsojan)安全团队
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android应用安全 | Android应用基础知识和代理抓包相关的知识,希望对你有一定的参考价值。
android应用安全 | Android应用基础知识和代理抓包
作者:1e0n
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。
0x00 前言
由于工作需要,手里的项目有个APP应用需要测试。但在此之前,我又没有系统深入的去学习过移动应用安全。本着哪里不会学哪里的精神,我准备大致的学习一下。以下内容可以理解为是我个人的学习笔记,发布出来是希望能够对感兴趣的师傅有所帮助。还望各位师傅对文中不严谨的地方批评指正,共同进步。
0x01 什么是APK文件?
APK是(AndroidPackage)的缩写,也就是我们安卓软件应用文件标准扩展名,我们只需要在安卓手机或者安卓模拟器中安装运行即可。APK实际上也是一个ZIP的文件,最简单的方式可以将文件重命名为.zip,然后用解压工具解压查看。
1.1 APK文件的基本内容
这里我们去随便下载一个安卓应用程序打开看看。
如图,这就是一个用解压工具打开的APK文件,它其中包含了以下内容;
(1)AndroidManifest.xml
AndroidManifest的官方解释是应用清单,文件中包括软件的各种配置信息,在每个应用的根目录下必须包含它,并且名字得一模一样。其中还有很多的应用组件描述、声明、需要用到的库等等信息。如果觉得很难理解的话,可以暂时将它理解为类似网页源代码中包含的JS代码(当然并不准确)。
官方示例文件代码如下:
(2)assets文件夹
assets文件夹下包括应用程序可能需要的任何其他文件。这些文件最后会被原封不动的打包在APK文件中,应用程序想要去使用它就必须要指定文件路径和文件名。其中的文件并不会被编译,而是会直接部署,并且只能通过流的形式读取;
(3)com文件夹
com文件夹也是一个包文件,其实质上是一个文件夹,在它之下的文件夹也是包文件,存放对应功能的类代码;
(4)lib文件夹
lib文件夹下主要存放的是一些系统的库文件,如.so结尾的文件。
(5)META-INF文件夹
META-INF文件夹下存放着程序入口的相关信息,每个jar程序都会存在这个文件夹。其中的MANIFEST.mf文件,是jar打包时自动生成的。
(6)res文件夹
res文件夹下存放着项目中所有的资源文件,安卓应用需要的资源文件都会从这个文件夹下的各个子文件夹中去调用。具体的一些细节暂时不用太过关注。
(7)src文件夹
src文件夹下存放着所有的java源程序。(有java基础的师傅可以研究下)
小结:这只是其中一部分文件或文件夹的粗略解释,还有很多内容要系统的学起来比较耗时耗力,建议遇到的时候,现学,哈哈。
0x02 像网页一样使用burpsuite抓包
首先需要用到的是一个安卓模拟器,只要能够成功运行安卓应用即可,我这里图方便直接用的夜神模拟器。
模拟器的安装过程可以自行百度,安装完成后。本来是应该安装一个APK文件来进行测试的,为避免相关问题。这里直接抓取浏览器的网页内容。当然,APP同理,之后会专门准备一个测试用的APP来专门写一篇详细的文章。
安装好模拟器后,需要对几个地方进行设置。
首先是burpsuite,需要按照下图设置,IP选择自己本机IP,端口自定义,我这里选择的是8080。(等会模拟器中也要相同端口)
然后是模拟器,打开设置-无线和网络-长按修改网络-设置代理(设置为本机IP和上面的端口)-保存。
事实上这个时候已经可以抓到包了,但是遇到HTTPS协议的网站会弹出安全警告。
这种情况需要安装证书,先关闭burp的拦截,在浏览器输入http://burp。按照下图操作。
接下来就可以像WEB一样去抓包测试APP了。
0x03 了解更多安全知识
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
以上是关于Android应用安全 | Android应用基础知识和代理抓包的主要内容,如果未能解决你的问题,请参考以下文章