根据APK文件来获取React Native JavaScript,分析API及敏感信息
摘要:React Native是一个移动应用程序框架。由于该框架允许开发人员使用React和本机平台功能,因此当前基于该框架开发了许多Android和iOS应用程序。
React Native是一个移动应用程序框架。由于该框架允许开发人员使用React和本机平台功能,因此当前基于该框架开发了许多Android和iOS应用程序。
在进行常规侦察时,我们通常着重于尽可能扩大攻击面。因此,我们需要研究为移动平台开发的各种应用程序,以便找到更多的API或其他有趣的东西,例如API密钥之类的敏感信息。
在本文中,我们将介绍如何基于APK文件获取React Native JavaScript,以及如何基于此信息分析API和其他敏感信息。
一般来说,当对Android应用程序进行反向分析时,我们需要使用dex2jar来反编译APK文件,然后使用JD-GUI进行下一个分析。然后,在处理React Native应用程序时,如果应用程序具有本机代码,将非常方便,但是在大多数情况下,应用程序的核心逻辑是使用React JavaScript来实现的,这部分代码可以在没有dex2jar Case的情况下使用。
请注意:dex2jar通过将Java字节码转换为Dalvik字节码来工作。因此,我们不能保证所有输出都是有效的。 这时,我们需要使用Smali工具来分析Dalvik字节码。
从React Native APK获取JavaSript
在此示例中,我们将从以下React Native应用程序中提取JavaScript代码:
com.react_native_examples
下载以上APK文件后,使用以下命令将其解压缩到新文件夹:
unzip React\ Native\ Examples_v1.0_apkpure.com.apk -d ReactNative
切换到新创建的“ ReactNative”目录并找到“ assets”目录。在此文件夹中,找到一个名为“ index.android.bundle”的文件,该文件将包含所有React JavaScript代码。
映射文件
如果可以找到名为“ index.android.bundle.map”的文件,则可以直接分析源代码。映射文件包含源代码映射关系,可以帮助我们映射代码中的标识符。如果要反向分析的React Native应用程序的assets文件夹中有此映射文件,则可以在此目录中创建一个名为“ index.html”的文件以使用此映射文件“ index.html”。文件如下:
<script src =“ index.android.bundle”> </ script>
保存文件并在Google Chrome中打开。接下来,打开开发人员工具栏,然后单击“源”选项卡,您可以查看映射的JavaScript文件:
敏感凭证和节点
React Native应用程序的一种模式是它需要使用第三方数据库,例如Firebase。在我们以前的研究中,我们发现许多应用程序未正确使用Firebase身份验证模型,其中涉及对API密钥的错误使用。
例如,Donald Daters应用程序受到此攻击媒介的威胁。
为了从index.android.bundle中提取Firebase API密钥,我们需要提取以下字符串:
FIREBASE_API_KEY
FIREBASE_AUTH_DOMAIN
FIREBASE_DB_URL
FIREBASE_BUCKET
apiKey
如下:
❯ grep -rnis 'apiKey' index.android.bundle... omitted for brevity ... initializeApp({apiKey:"AIzaSyDokhX9fzFlJMfXjwbiiG-2fGDhi4kLPFI", authDomain:"react-native-examples-bcc4d.firebaseapp.com", databaseURL:"https://react-native-examples-bcc4d.firebaseio.com", projectId:"react-native-examples-bcc4d", storageBucket:"", messagingSenderId:"928497342409"});... omitted for brevity ...
除了查找Firebase凭证之外,我们还可以使用index.android.bundle来分析API节点。在React Native应用程序中,我们需要进行反向分析,我们可以通过浏览Chrome中提取的JavaScript文件来找到大量的API节点:
Firebase界面分析
以下Python脚本可用于与Firebase数据库进行交互。在使用此脚本之前,请使用“ pip install pyrebase”命令安装pyrebase:
import pyrebase config = { "apiKey": "FIREBASE_API_KEY", "authDomain": "FIREBASE_AUTH_DOMAIN_ID.firebaseapp.com", "databaseURL": "https://FIREBASE_AUTH_DOMAIN_ID.firebaseio.com", "storageBucket": "FIREBASE_AUTH_DOMAIN_ID.appspot.com", } firebase = pyrebase.initialize_app(config) db = firebase.database() print(db.get())
上面的脚本将对给定的Firebase数据库进行身份验证,然后在数据库中输出日期。当然,只有在我们为脚本提供目标Firebase数据库的API密钥的情况下,该脚本才有权读取数据库的内容。
总结一下
我们演示了如何分析React Native Android应用程序及其相应的JavaScript代码。通常,通过分析应用程序APK文件中的JavaScript,我们可以提取目标应用程序中的敏感凭证数据和API节点。
相关热词搜索:APK文件 React Native JavaScript 分析API敏感信息 重庆网络安全
上一篇:借助适当的DevSecOps和GitHub事件API扫描,降低GitHub帐户泄露敏感信息的风险
下一篇:重新对iOS应用程序签名,生成IPA文件,部署到测试设备
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了