首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CAPTAIN HOOK - 如何(不)寻找 JAVA 应用程序中漏洞

寻找 Java 应用程序漏洞好时机!在过去几个月里,我一直在尝试构建一个名为Captain Hook工具,它使用动态方法来查找大型闭源 Java 应用程序一些有趣(安全方面)特性。...要求 由于 Synacktiv 专家在寻找大型 Java 项目中漏洞时将使用 Captain Hook,它应该: 易于在目标应用程序设置。 易于使用,直观。...记录或不记录内容应该是可定制,并且默认为一组通常危险本机 Java 方法。...使用 Frida,我设置是在应用程序 VM 安装 frida-server,从 Captain Hook docker 连接并注入 Frida 脚本,如下所示: 使用本机 Java 代理,应将编译后代理复制到应用程序...事实,我没有看到保留它意义,因为 Frida 也能够重新实现我选择方法。我几乎不知道这个功能会给我带来这么多麻烦......

75410

安装使用Frida在Android上进行hook

Frida则于Xposed不同,它是一款轻量级Hook框架,可用于多平台,相同是它依然需要root环境。本文就以Android为例来详细说说如何安装并使用它。...PC端 首选要在电脑安装Frida,官方安装步骤是 pip install frida-tools # CLI tools pip install frida # Python bindings...npm install frida # Node.js bindings 很简单,但是在安装时回遇到很多问题,下面一一说一下 mac 在mac安装失败,报错如下: "python setup.py...注意如果无法使用frida命令,则一定是frida-tools没有安装成功 windows 有了mac经验,我们在windows安装前就可以先为pip设置阿里镜像。...$init(str, str1) } }); 示例中是hook了activityonResume等方法,这样当hook应用执行这些方法时就会触发,示例中是打印一条记录。

3K30
您找到你想要的搜索结果了吗?
是的
没有找到

APP加固攻防梳理

HOOK脱壳法 Hook脱壳法一般都是基于frida和xposed这两个框架进行做hook操作。...脱壳方法HOOK脱壳法 通过利用frida框架进行hook关键函数DexFile,OpenFile、dexFindClass等关键函数实现脱壳。...frida-Dexdump便是这种脱壳方法代表作。...自定义系统和定制android设备方法: 1、采用定制androidrom,可以有效对抗市场中所有的加密壳、类抽取类型壳;相比开源脱壳工具,大体都是基于hook框架,例如frida、Xposed...;目前大多加固厂商已经对hook框架,以及脱壳框架特征进行了安全检测,这会导致app启动失败,从而实现脱壳失败,而通过自定义rom,没有依赖hook框架,也就没有相关框架特征代码标志,所以脱壳成功率会比较高

2.9K32

【愚公系列】2023年05月 攻防世界-MOBILE(Phishing is not a crime-2)

Objection是一款移动设备运行时漏洞利用工具,该工具由Frida驱动,可以帮助研究人员访问移动端应用程序,并在无需越狱或root操作情况下对移动端应用程序安全进行评估检查。...安装命令 pip3 install objection frida是一款便携、自由、支持全平台hook框架,可以通过编写JavaScript、Python代码来和frida_server端进行交互...d2j-dex2jar.bat classes.dex 2、我们可以看到函数getSignatureString(byte[]),它由本机库实现。...密钥通过方法 Scrambler::getstring() 获取。...反编译此方法会显示密钥是动态生成: 4、Fook函数 import frida import sys session = frida.get_usb_device(1000000).attach

34420

Frida环境搭建及入门实战

由此得见,我们从a方法就是我们hook点,a方法参数jsonObject str即是我们要获取内容 编写脚本 import frida import sys # hook逻辑脚本 jscode...方法(即包装之前a方法,类似于装饰器工能) return this.a( obj,str); }; }); """ # 通过usb连接方法 # process = frida.get_usb_device...-l hook.js python脚本使用自定义端口方式: host = '127.0.0.1:1234' manager = frida.get_device_manager() device=...获取方法 // 有些重载方法需要通过.overload()传入参数类型指定方法 // 通过方法.call(args)来调用函数,通过方法.implementations = function...PC本机,usb device对应连接Android设备,remote device也是经过端口转发Android设备 附加指定进程 $ frida-trace -i open -U <package_name

2.1K20

Hook框架Frida之安装踩坑日记

,是个轻量级so级别的hook框架,Hook原理简单地说就是用一个新函数替代掉原来函数。...二、安装 frida由两部分组成:一部分是运行在系统(Windows)交互工具frida CLI,另一部分是运行在目标机器(Android)代码注入工具frida-server。...1、客户端安装 windows安装frida使用python自带pip即可,命令: pip install frida 问题1:python版本 windowsfrida目前只支持python2.7...问题3:egg文件 执行到上一步操作时由于网络原因可能会出现error报错,多试几次,直到出现下面的报错: 这步下载frida-12.10.4-py3.7-win-amd64.egg失败,需要根据提示手动下载...最后吐槽一下GitHub下载文件速度,如果下载太慢最好还是想办法挂个梯子。后续更新Frida使用方法和实战案例,很全面很强大。

4.4K10

【APP 逆向百例】Frida 初体验,root 检测与加密字符串定位

安装 ADB adb(Android Debug Bridge)即安卓调试桥,安装后可以在电脑与手机进行交互,Android Studio 等工具里面会自带 adb,有时候我们并不想下载这么大工具,...图片 所以我们这里就有多种过掉检测方法方法一:Hook 三个检测方法,让它们都返回 false,不再执行后续 a 方法,就不会退出 APP 了: Java.perform( function...mainActivity.a") } } ) 方法三:Hook onClick() 方法,点击 OK 后不让其退出 APP,注意这里是内部类 Hook 写法: Java.perform...Hook,本例中,过 root 检测时候,如果采用第一、二种方法,即 Hook 三个检测方法或者 a 方法,那就需要在 APP 启动时候就 Hook,如果采用第三、四种方法,即 Hook onClick...APP 包名,查看 APP 名称和包名方法有很多,这里介绍两个 frida 命令,frida-ps -Uai:列出安装程序,frida-ps -Ua:列出正在运行中程序,如下图所示,本例中 Uncrackable1

1.2K20

利用Frida绕过Android App(apk)SSL Pinning

,通过hook方式将此次校验结果返回true或者干脆不让其做校验即可以绕过。...当安卓APP初始化SSLContext时,我们使用frida劫持SSLContext.init方法,使用我们自己创建TrustManager , 把它作为实参传入SSLContext.init方法第二个参数...Android低版本报错如下 夜神模拟器创建高版本Android 7并启动 利用adb连接模拟器,夜神模拟器adb连接默认是连接本机62001端口,可是这里因为是新建可能端口会有所变化,不过也还是在...设置burp证书 先在burp里设置本机代理 访问代理地址并下载burp证书 将下载burp证书导入到模拟器中/data/local/tmp目录下,并重命名为cert-der.crt(此名称在接下来...-U命令列出设备运行服务,找到途牛应用程序包名 下载注入脚本,保存为fridascript.js /* Android SSL Re-pinning frida script v0.2

2.1K21

android逆向之frida安装与使用

一、安装frida 在电脑安装adb 安装adb是为了在电脑通过adb与手机进行交互。...电脑配置完后,现在需要下载frida-server保存到手机中,并启动frida-server,这样电脑frida客户端才能与手机中frida服务端进行交互 frida-server下载,可在...以后台模式运行frida-server,这样电脑frida CLI就能够与frida-server进行交互,我们可以在电脑使用frida来与android设备中app交互(当然前提是手机要通过...、frida-kill等命令工具 frida tools命令工具使用 除了frida命令行使用外,frida还可以通过python及JavaScript脚本来hook android设备中应用程序...String后,就是我们想得到正确校验字符串,代码如下 下面是执行完aes解密方法脚本后,得到结果,如下所示 综上所述,我们已经通过frida脚本完成了绕过app检测及hook app校验字符串方法从而得到真正字符串

4.1K30

APP各种抓包教程

IP 地址(即本机局域网 IP 地址) 在手机里面网络设置也要设置 手动代理模式 ,输入 IP和端口 都要与 Burpsuite 一样 然后在手机浏览器访问 https://burp 这个地址,...插件安装完之后,记得启动插件,然后 重启手机 后插件才能生效 然后使用 Objection 进行绕过 Objection 是一款基于 frida hook 框架,由于 frida 需要我们自己编写脚本...,使用比较麻烦,objection 内置了在安卓和 IOS 逆向中常用一些 hook 脚本,我们通过简单命令行就可以进行 hook 动态篡改,非常方便 因为 Objection 是基于 Frida...注入到目标 APP 应用程序 objection -g 包名 explore 如果不知道 APP 包名,可以用以下命令进行查看,但是依然前提要启动了 Frida服务端程序 frida-ps -Ua...可以通过 fridahook 住 APP 构造网络请求和接收数据地方代码,然后打印出来请求和返回数据,这样 APP 向服务器进行网络请求和接收数据便一览无余了。

7.3K54

OkHttp 通用抓包方式分析,以某小视频App为例

幸好我们还有 OkHttpLogger-Frida TIP: v9.10.10.22596 二、步骤 原理分析 在 某小视频App v8.x 签名计算方法(一) 先从抓包说起 这篇文章里面我们分析了 v8.0...使用 OkHttpLogger-Frida 抓包方法。...作者描述了一下原理: 由于所有使用Okhttp框架App发出请求都是通过RealCall.java发出,那么我们可以hook此类拿到request和response。...最后一个问题 加上这个抓包之后,突然app变得很不稳定,要么一会就卡住不动了,要么就是出现网络访问失败。 这个问题肯定是由于我们这个js导致。但是具体是怎么导致?如何排查问题呢?...然后就尝试了各种办法,换个读函数、深拷贝这个buffer,都没有成功。 最后发现作者预留了一手,实际作者已经对这个 Response body做了次深拷贝,并且生成了一个newResponse。

1.3K30

android frida hook介绍

本篇介绍 frida 是一个hook工具,可以监控和修改app行为,相比xposed优势是配置简单和支持主动调用 环境配置 frida执行脚本是javascript,因此需要先安装nodejs和npm...,安装frida只需要一条安装命令 pip install frida-tools 安装完后,frida就可以用了,安装可用命令如下: image.png 目前用最多fridafrida-ps..., frida-trace, 按照名字基本就可以看出功能了,第一个就是hook命令,第二个是查看进程,第三个是跟踪函数调用。...接下来需要在Android设备安装frida server,需要找和PC版本一样server,然后push到 手机里。...image.png 需要知道frida相比xposed优势是frida 支持函数主动调用,这时候就需要用到一些js函数,对于类方法,那么直接调用就行 var clazz = Java.use('xxx

81710

详解Hook框架frida

安装 今天我们用到frida框架分为两部分: 一部分是运行在系统交互工具frida CLI; 另一部分是运行在目标机器代码注入工具 frida-server。...将下载后压缩包解压得到frida-server, 然后将该文件推送到Android设备。...4、Java Api 在Hook开始之前,有必要对Java注入相关api做一个简单介绍, frida注入脚本是Java, 因此我们后面都是通过js脚本来操作设备Java代码。...图7 当我们获取到Java类之后,我们直通过接..implementations = function() {}方式来hook wrapper类method方法,不管是实例方法还是静态方法都可以。...a方法, 在里面我们可以拿到timingIdentifier值: 图30 注意:当一个类里面有重载方法时候, 我们需要用.overload(paramtype...)来表示我们hook是哪个重载方法

2.5K40
领券