FiddlerClassic替换本地JS并远程调试-创新互联

背景

众所周知,下载的m3u8文件无法直接播放,一般来讲m3u8文件采用AES128对称加密,并提供key、iv、ts列表。当然文件中的key与iv均为加密后的结果,需配合相应的解密文件与偏移量。本文基于某利威的player.js介绍如何利用Fiddler进行远程调试,获取AES128对称加密所需的key与iv。

创新互联公司:成立于2013年为各行业开拓出企业自己的“网站建设”服务,为1000多家公司企业提供了专业的网站建设、网站设计、网页设计和网站推广服务, 按需网站设计由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。设置

1、下载Fiddler,Fillder Classic即可,支持Windows(当然其它抓包与响应代理工具也可);

2、设置Tools------Options------HTTPS,勾选Capture HTTPS CONNECTS,勾选Decrypt HTTPS traffic,下拉框中选择 ...from browers only(只抓取浏览器相关网络请求)。

3、主界面右侧选择Filters,勾选Use Filters,依据实际情况进行过滤设置,这里我设置 Show only if URL contains player.js。

4、设置AutoResponder,这步是关键,勾选Enable rules、Unmatched requests passthrouth。然后点击Add Rule,默认精确匹配,干掉,直接写player.js,然后添加本地用于调试的JS文件。

实战

1、打开某网课视频(基于某利威),fiddler将会自动抓取player.js文件,见下图,可见加载的js为本地js。

2、在本地找到解密的JS,某利威的player.js解密在bt = {...}这段,因此搜索“bt = {”,修改本地js,加入debugger或者console.log即可输出相应信息。

结语

1、一开始的思路是自己搭建https服务器,利用DNS就近解析本地的js文件,后来发现如果视频网站有额外请求,则本地服务器无法正常响应,因此采用fiddler进行本地代理响应。

2、针对fiddler提供的本地代理功能,可以说是目前没有较好的解决方法,1)不属于重放攻击,时间戳无效;2)js即时加密,提高复杂度,也可以在浏览器获取原始文件;3)针对js文件不能做防盗链处理,reffer可仿造,token影响效率;4)CA安全证书解决的不是这种类型的安全问题。

3、网页JS的安全处理有待加强,本文仅限于JS安全技术研究与学习交流,请勿用于非法、商业目的。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:FiddlerClassic替换本地JS并远程调试-创新互联
浏览路径:http://pwwzsj.com/article/ijico.html