眾所周知,下載的m3u8文件無法直接播放,一般來講m3u8文件采用AES128對稱加密,并提供key、iv、ts列表。當(dāng)然文件中的key與iv均為加密后的結(jié)果,需配合相應(yīng)的解密文件與偏移量。本文基于某利威的player.js介紹如何利用Fiddler進行遠程調(diào)試,獲取AES128對稱加密所需的key與iv。
創(chuàng)新互聯(lián)公司:成立于2013年為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為1000多家公司企業(yè)提供了專業(yè)的網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 按需網(wǎng)站設(shè)計由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。設(shè)置1、下載Fiddler,F(xiàn)illder Classic即可,支持Windows(當(dāng)然其它抓包與響應(yīng)代理工具也可);
2、設(shè)置Tools------Options------HTTPS,勾選Capture HTTPS CONNECTS,勾選Decrypt HTTPS traffic,下拉框中選擇 ...from browers only(只抓取瀏覽器相關(guān)網(wǎng)絡(luò)請求)。
3、主界面右側(cè)選擇Filters,勾選Use Filters,依據(jù)實際情況進行過濾設(shè)置,這里我設(shè)置 Show only if URL contains player.js。
4、設(shè)置AutoResponder,這步是關(guān)鍵,勾選Enable rules、Unmatched requests passthrouth。然后點擊Add Rule,默認(rèn)精確匹配,干掉,直接寫player.js,然后添加本地用于調(diào)試的JS文件。
實戰(zhàn)1、打開某網(wǎng)課視頻(基于某利威),fiddler將會自動抓取player.js文件,見下圖,可見加載的js為本地js。
2、在本地找到解密的JS,某利威的player.js解密在bt = {...}這段,因此搜索“bt = {”,修改本地js,加入debugger或者console.log即可輸出相應(yīng)信息。
結(jié)語1、一開始的思路是自己搭建https服務(wù)器,利用DNS就近解析本地的js文件,后來發(fā)現(xiàn)如果視頻網(wǎng)站有額外請求,則本地服務(wù)器無法正常響應(yīng),因此采用fiddler進行本地代理響應(yīng)。
2、針對fiddler提供的本地代理功能,可以說是目前沒有較好的解決方法,1)不屬于重放攻擊,時間戳無效;2)js即時加密,提高復(fù)雜度,也可以在瀏覽器獲取原始文件;3)針對js文件不能做防盜鏈處理,reffer可仿造,token影響效率;4)CA安全證書解決的不是這種類型的安全問題。
3、網(wǎng)頁JS的安全處理有待加強,本文僅限于JS安全技術(shù)研究與學(xué)習(xí)交流,請勿用于非法、商業(yè)目的。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧