Android漏洞挖掘第三期:客户端完整性未校验

2023-05-16

引言:每一期都有相同的内容部分,主要为了让大家单独看一期依旧能看懂!!!

0x01 APK文件

  1. 依然从APK文件开始说起,相信大家看我之前的帖子,已经知道APK文件怎么看里面的文件内容了。这里还是啰嗦一下吧!

  2. APK文件(全称:Android Application Package),是安卓系统使用的一种应用程序包文件格式,也就是说可以将apk文件双击对其进行安装。既然说是包文件格式,说明apk文件应该是一个将其他文件进行整合压缩后的一个压缩包。既然是压缩包,就可以利用winrar软件对其进行解压并得到里面的软件。

0x02 利用工具

  1.  本次的利用工具:apktool,SignAPK,ApkBurster

  2. apktool:这个工具就不多解释了,就是一个解包工具。或者修改尾部扩展名,一样的哈

  3. SignAPK:这是个新名词,我也是有幸第一次接触到,这是一个对未签名的APK问价进行签名的工具。

  4. 神器之ApkBurster:这也是个新名词,作用是加载APK时会自动进行解包,使用“解包目录”功能打开文件夹进行修改后,使用重“打包安装”即可自动完成打包,签名,覆盖安装操作。

0x03 开始切入正题了-----测试步骤

  1.  第一步当然是利用apktool进行解包咯。当然也是可以修改尾部扩展名,将.apk修改为.zip的哦

  2. 先附上apktool的解包公式。然后我们找一款android进行解包。(当然,涉及敏感信息的地方我会打马赛克的)

java -jar apktool.jar d -f apk文件路径 -o 解包目标文件夹

 0x04 找到res文件,并修改里面的图片

  1.  为啥是修改里面的图片?而不是修改里面的数据呢?其实修改logo图片首先是最简单。其次是最容易看到效果的。

  2. 首先,先找到res文件夹。这个文件夹里面存放着大量的图片。很容易就可以找到logo的图片

  3. 其次,从网站上下载好一个图片(随便大小,别超过手机屏幕就行),然后与本身里面的logo进行替换。(注意哦,替换的名字也必须是一样的,因为程序会以名字调用的)

0x05 封装

  1. 我们把APK解压出来,是否要对整个信息进行封装了呢?其实封装就是要对apk文件进行签名。如果无法签名的话,apk文件是不会正常运行的。那我把他们再压缩成zip压缩包,然后再改成apk可以吗?我这里告诉你,我试过了,不行的。

  2. 但是还有一个方法可以做掉。你当初把apk扩展名改为zip的那个包,是可以利用的,直接整个替换里面的或部分替换后,再改为.apk就行了。(亲测可用)

  3. 封装命令我还是照常给出,便于大家去测试方便一些

java -jar signapk.jar testkey.x509.pem testkey.pk8 待签名的APK路径 签名后输出apk路径
  1. 从这里面看来,我们的逆向的,基本都是要用到java程序耶!所以大家一定要装好java程序。另外,建议大家装一下java1.8,因为java版本高会不支持很多的软件和工具的。

  2. 同时,这个命令,又多出了2个文件,一个叫testkey.x509.pem,另外一个叫testkey.pk8。这2个文件是用来给apk文件签名用的,不知道大家是否用burpsuite抓过https的包。我们是先要去burp上下载一个CA证书,然后将CA证书安装到浏览器并添加信任。抓取https的包的时候,就是利用burp官网下载的CA证书,去骗取浏览器的信任,让浏览器误认为这是一个真证书。而apk里的这个签名也是同样的道理

0x06 安装前和安装后进行对比

  1. 对比是肯定要的,可以看一下安装前和安装后的差异,那。。。。我们以我们这个软件进行测试一下!

  2. 这个截图是安装前的画面。基本没有什么变化,是一个正常的软件

  3. 这个截图是安装后的画面。我们把里面的logo的图片改了,打开后,安装卸载的图标都发生了变化。是不是很好玩啊!

0x07 解决方法

  1. 有的人说,看了文章,也会了。但是遇到些解决方法反而就不会了。远离说不清楚。这里也给大家写出来了。

  • 解决方法:客户端再没次开机启动时,实际上都会对客户端自身的应用完整性进行校验的。再验证逻辑中,不使用MANIFEST.MF中的数据作为验证凭证。并且需验证是否有不属于该客户端版本的新文件添加,验证过程于服务器完成即可

  • 通俗说法:客户端没有对自己的程序进行校验,导致攻击者可以任意修改里面的内容。本次虽然是改了图片。那如果真正的攻击者是改了数据呢?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android漏洞挖掘第三期:客户端完整性未校验 的相关文章

  • Android Camera 摄像头 预览时 水平镜像

    一 效果图 废话不多说 xff0c 直接看效果 二 关键代码 span class token class name Matrix span matrix span class token operator 61 span surfaceV
  • NSIS ERROR解决方法

    可能有病毒 如果没病毒可用 NCRC命令跳过检测 xff1a 开始菜单 运行 输入cmd xff0c 点确定 xff0c 会出现黑色类似DOS的窗口在此窗口中输入 xff1a start 空格 安装文件目录例如F 新建文件夹 steup e
  • 百度网盘限速下载,PanDownload简直逆天

    目前来说PanDownload依然是突破限速的首选软件 xff0c 虽然有时候也会出现波动 xff0c 但至少比管家要强太多太多 pandownload官网 PanDownload是一款免费软件 xff0c 请至官网下载 http pand
  • win10+TeamVIew+花生壳 0元实现 远程开机教程附带截图超详细 已实践成功

    win10 43 TeamVIew 43 花生壳 实现远程开机 最近dnf出了累计在线时长送装备的活动 xff0c 公司电脑挂游戏又不太好 xff0c 云主机的实现成本太高 xff0c 于是有了远程自己家里的电脑挂游戏的想法 xff0c 但
  • 我安装archlinux的过程总结

    根据网上的文章 Archlinux 2015 07 01 和 Windows7 双系统 安装教程 改编 2017 11 18 Archlinux 2015 07 01 和 Windows7 双系统 安装教程 提前在windows7下给Arc
  • 使用Gradle发布Android开源项目到JCenter

    这里介绍一下 xff0c 如何使用Gradle发布到jcenter 注册 先到https bintray com注册一个账号 配置账号 我们需要配置一下BINTRAY USER及BINTRAY KEY两个属性 BINTRAY USER即你注
  • android中activity和fragment之间的跳转问题

    一 描述 xff1a 现MainActivity中有Fragment1 Fragemnt2 Fragment3 Fragment4 xff0c 还有一个Activity2和一个按钮 二 需求 xff1a 1 从Fragment2跳转至Act
  • 苹果新发布的Apple M1 SoC处理器,对比25年前第一代ARM1,性能强了多少?

    来源 xff1a Andrei xff0c 整理 xff1a 晓宇 微信公众号 xff1a 芯片之家 xff08 ID xff1a chiphome dy xff09 2020年11月10日 xff0c 苹果发布了他们全新的MacBook系
  • 在Windows平台使用python3调用dronekit并仿真

    实验平台 Windows 10Python3 7dronekit python 2 9 2 本文使用上述环境进行实验 dronekit python官方文档1的Introduction Release Notes部分更新到dronekit
  • 计算机概论复习:知识大全

    为期末考试复习的笔记 xff0c 参考了各种资料 1 计算机的定义 1 1计算机系统的组成 1 由硬件和软件组成 xff1b 2 软件 xff1a 应用软件 办公自动化软件 财务管理软件 xff08 记法 xff1a 有专门应用语境的软件
  • SpringMVC常用注解解释

    SpringMVC常用注解详解 1 ResquestParam 作用 xff1a 把请求中指定名称的参数给控制器中的形参赋值 属性 xff1a value xff1a 请求参数中的名称 required xff1a 请求参数中是否必须提供此
  • 约瑟夫环(链表法,公式法)

    约瑟夫环作为一个数学问题 xff0c 它的代码实现方式有很多 xff0c 比如循环链表 xff0c 公式解决或者动态规划 xff0c 之前参考资料也有用递归解决的 Anyway xff0c 这些都是解决约瑟夫环问题很有效的方法 这里总结两种
  • C/C++对Unicode编码的处理

    http blog chinaunix net uid 23414687 id 2425175 html MultiByteToWideChar CP ACP 0 p 1 tUni 1 调用windows的API函数将中文内码转换成 UNI
  • Android8.0 user版本adb 的log输出到串口中

    我们在调试adb时不能使用logcat xff0c 这个时候我们需要把adb的log输出到串口 xff0c init就能实现 xff0c 我们仿造init的代码 xff0c 在adbd的main函数中调用了如下函数InitKernelLog
  • 爬虫——动作链、xpath、打码平台使用

    系列文章目录 第一章 爬虫 爬虫初识 requests模块 第二章 代理搭建 爬取视频网站 爬取新闻 BeautifulSoup4介绍 bs4 遍历文档树 bs4搜索文档树 bs4使用选择器 第三章 selenium基本使用 无界面浏览器
  • 2022-11-02 | Tomcat9.0安装及配置教程(win10) by YUNER

    0 参考博客链接 xff1a Tomcat 9安装配置教程 https blog csdn net u011118751 article details 105394464 Tomcat9 0安装与配置 https blog csdn ne
  • 敏捷Scrum指南三:Scrum角色之SM(ScrumMaster)

    角色概述 SM主要负责帮助每个人理解并乐于接受Scrum的价值观 原则和实践 对PO和Dev Team来说 xff0c SM履行的是教练的职责 对团队的Scrum工作流来说 xff0c SM履行的是过程领导的职责 职责 Scrum教练 是S
  • 用photoshop制作指定尺寸的证件照的方法

    有些朋友会遇到一些提交指定尺寸的证件照的要求 xff0c 例如照片的宽 高 xff0c 图中头部的长度或者宽度 今天我也遇到了这个要求 xff0c 自己尝试了几种做法 现在把我觉得最简单的一个方法和大家分享 例如要求图片尺寸为70mm 50
  • 什么是高性能计算,涉及哪些技术和知识呢?

    什么是高性能计算 xff0c 涉及哪些技术和知识呢 xff1f 高性能计算 High performance computing 指通常使用很多处理器 作为单个机器的一部分 或者某一集群中组织的几台计算机 作为单个计算资源操作 的计算系统和
  • Android中批处理drawable-xxx目录中图片资源的那些事儿

    看到这个题目的时候 xff0c 我想多少有人会觉得诧异 是的 xff0c 当我在编程中需要通过代码的方式控制27张图片像幻灯片一样按固定时间顺序播放的时候 xff0c 我想把自己是如何做的记录下来和大家一起分享 xff0c 同时也是为了对抗

随机推荐