在使用fiddler做代理抓取应用数据包时,如果要抓取到HTTPS数据,需要将fiddler证书导入到浏览器或手机。
浏览器或手机设置好fiddler的代理地址,即可抓取到https数据包。
如果APP应用采用证书锁定后,将无法抓取到https数据,因为此时APP应用校验证书不通过,通常APP应用会断开网络连接,防止网络传输数据被抓取。
自从android 7.0之后xposed的开发者rovo89基本就不维护了,针对android 8.0的版本草草发布了一个测试版本撒手不管了。
现在越来越多的新机型出厂就是android 9.0系统,那么怎么才能继续使用xposed框架呢?
xposed虽然死了,但是还有后来的Edxposed框架,Edxposed全称 Elder driver Xposed Framework,简称edxp。
Edxposed框架现在支持android 8.0 -android 9.0 ,如果是android 7.0或更早的版本,推荐使用xposed框架。
证书锁定(CertificatePinning或SSL Pinning),即HTTPS的证书校验。HTTPS库在接收到证书以后,对证书进行校验,确保其跟自己保存的本地证书或硬编码数据相同,才可放行。否则视为被中间人监听,拒绝通信。
绕过证书锁定,可使用xposed框架下的两大神器来突破证书锁定。使用JustTruestMe就可以绕过证书锁定。
前提是手机已ROOT并且安装好xposed框架。
https://github.com/topjohnwu/Magisk/releases
版本:Magisk-v25.2.apk
教程:https://blog.csdn.net/u014644574/article/details/123501668
https://github.com/RikkaApps/Riru/releases
版本:riru-v25.4.4-release.zip
复制zip文件到手机,在 Magisk 模块界面点击从本地安装,选择 zip 模块文件,安装后重启手机。
https://github.com/ElderDrivers/EdXposed/releases
版本:EdXposed-v0.5.2.2_4683-master-release.zip
复制zip文件到手机,在 Magisk 模块界面点击从本地安装,选择 zip 模块文件,安装后重启手机。
https://github.com/ElderDrivers/EdXposedManager/releases
版本:EdXposedManager-4.6.2-46200-org.meowcat.edxposed.manager-release.apk

https://github.com/Fuzion24/JustTrustMe/releases
版本:JustTrustMe.apk
我测试时使用 JustTrustMe 并没有成功,使用 TrustMeAlready 后成功。
https://github.com/ViRb3/TrustMeAlready/releases
版本:TrustMeAlready-v1.11-release.apk
安装好TrustMeAlready后,打开EdXposedManager的模块,勾选启用TrustMeAlready

大部分的app都可以用此方法解决ssl-pinning检测,不过有少部分app可能依然抓不到,需要专门去逆向app找ssl-pinning逻辑并解决。
https://gitee.com/gloweds/myhttps
//https请求:https://192.168.137.1:8443/hello?name=123
@GetMapping("/hello")
public String hello(String name) {
return name;
}
该代码涉及到的ip需要替换成自己的ip地址,该代码使用的https单向验证。
测试发现,当信任所有证书,https变得毫无意义,中间人可以随意抓取数据。
https://gitee.com/gloweds/httpsapp
打包后app:https://gitee.com/gloweds/httpsapp/raw/master/app/release/app-release.apk

测试时,将ip地址改成自己的ip,点击https按钮就行了。

手机与电脑连接同一wifi,或者手机连接电脑热点。我这里手机连接的电脑热点。

手机浏览器输入上面的配置的地址:http://192.168.137.1:8888

小米手机在,设置 》密码、隐私与安全 》 系统安全 》加密与凭据 》信任的凭据

若要删除fiddler证书:
小米手机在,设置 》密码、隐私与安全 》 系统安全 》加密与凭据 》信任的凭据 》用户凭据


除了校验HTTPS证书防止中间人抓包以外,常见的方法还有通过检测系统代理防止抓包,其原理是检测到设备开启系统代理后,APP中通过代码实现禁用代理,以OkHttp框架为例,示列代码如下:
/*
* 检测代理
* 目前仅限OkHttp发出的请求
*/
switch_check_proxy.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
client = new OkHttpClient().newBuilder().proxy(Proxy.NO_PROXY).build();
}else {
client = new OkHttpClient();
}
}
});
}
很多APP中会设置如下检测,我就知道一款app被检测出代理就被直接重新转发到一个固定的ip:127.0.0.1:7000
String proxyHost = System.getProperty("https.proxyHost");
String proxyPort = System.getProperty("https.proxyPort");
if(!TextUtils.isEmpty(proxyHost)){
return new Proxy(Proxy,Type.HTTP, new InetSockerAddress(proxyHost, Integer.parseInt(proxyPort)))
}
为了绕过系统代理检测,可以使用iptables对请求进行强制转发或使用Proxy Droid,ProxyDroid全局代理工具就是通过iptables实现的,所以使用ProxyDroid开启代理,可以比较有效的绕过代理检测。手机root后,使用Proxy Droid 或Postern实现强制全局代理,让ssl代理证书生效,proxy Droid可以在UpToDown,ApkHere等的地方下载
另外一款软件Drony 不需要root,也不需要手机在 wifi 里设置代理。可以通过该 app 直接指定目标 app 才走代理,对其他 app 不可见
Drony镜像下载地址:https://www.apkmirror.com/apk/sandrob/drony/
Drony英文翻译成繁体、简体对比如下:
LOG(日誌):日志
SETTINGS(設置):设置
Wi-Fi(無線網絡):无线网络
Proxy type(代理類型):Manual(手冊/手動/手动)
Hostname(主機名):ip地址
Port(端口):端口
Filter default value(過濾默認值):Direct all(引導全部/直连全部不做任何处理),也可以选择Deny all拒絕全部
Rules(規則):规则
Action(行動):Local proxy chain(本地代理鏈全部)
Application(應用程序):应用程序
Filter default value(過濾默認值)是全局拦截设置,Rules(規則)是局部设置。
Rules(規則)的优先级高于Filter default value(過濾默認值)全局设置。
假如全局设置为直连,局部设置某个app为拒绝,那这个app所有请求都会被拒绝。
假如全局设置为拒绝拦截所有请求,局部设置某个app为直连,那这个app所有请求都会放行不会拦截。
打开Drony,切换到“設置”(左右滑动切换),选择“無線網絡”


选择电脑热点,或者一个wifi(手机和电脑都要连在这个wifi下)
我这里手机连接的电脑热点,选择电脑热点。

设置代理的ip地址和端口

返回到日志,运行。

这样设置默认全都都有走代理。
基础设置和方式一相同,多加如下配置
点击“過濾默認”,全局设置。
Filter default value(過濾默認值)是全局设置。
Direct all(引導全部):就是直连,转发,不做任何处理。
Deny all(拒絕全部):拒绝所有请求,在局部处理,防止不必要的请求干扰。我推荐这种。

点击“規則”,新增局部设置。

设置局部处理方式。
拒绝所有:拦截所有请求。
引導所有:直连,所有请求都放行,不做任何处理。
本地代理鏈全部: 所有请求,都会转发到代理ip和端口处理,也就是转发fiddler处理。

400 No required SSL certificate was sent
这个错误是双向认证,请求没有携带客户端证书,

这种要逆向app,一般在证书放在assets目录下,还需要动态调式找出客户端证书密码
https://download.csdn.net/download/u014644574/87149375
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
其实做自媒体的成本并不高,入门只需要一部手机即可!在手机上找视频素材、使用手机剪辑视频、最后使用手机发布视频作品获得收益!方法并不难,今天这期内容就来给粉丝们分享一种小方法,每天稳定收益100-300,抓紧点赞收藏!1、找素材(1)使用手机拍摄自己喜欢的经典段落,使用程序把文案内容提取出来(2)也可以在豆瓣、知乎、微博等网站中找一些自己需要的文案素材(3)把文案进行润色修改,可以加入一些自己的观点(4)视频素材可以使用软件中自带的素材,也可以在素材网站中下载完整版的素材2、文案配音(1)把复制好的文案直接导入小程序中(2)调整音色、音调后一键合成音频即可(3)可以选择自己朗读配音,需要花一点时
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf