前情提要

是這樣的,最近研究逆向,其實研究很久了XD

常常看到網站上的mp4連結,會是一串位置,後面附上很多數值,類似token或加密的東西:
舉例

https://某網站net/exp=1708705706~acl=%2Fbdf53323-8c58-41e9-8d85-00c7b9174e08%2F%2A~hmac=bb644cf702c45f8e70a3a61c6e0c8c8b6353d6b4e2ecf0f5e395f89fc57660c3/bdf53323-8c58-41e9-8d85-00c7b9174e08/parcel/video/c089253b.mp4

有些數值是固定的我知道,但看起來exp似乎是expire,感覺是cookie的有效時間,
數字上看起來也像是timeStamp(時間戳)
理論上我修改一下應該不會有問題才對?結果無法,假設我更改成1708703980
就會變成是Access Denied

看來是說這網址的所有參數都是固定的囉?

深入研究

我嘗試關掉重開,第二次去看一下它發送的請求:

https://某網站net/exp=1708707048~acl=%2Fbdf53323-8c58-41e9-8d85-00c7b9174e08%2F%2A~hmac=41582b98b6eaa767b327b060a358e63b082606777a83c5475ccdc4d49054151e/bdf53323-8c58-41e9-8d85-00c7b9174e08/parcel/video/27479ba9.mp4?

這就玄妙了,沒想到一切參數除了acl似乎沒有變化以外,居然連mp4前面的東西都變了 。
我這兩個是同一段影片才對,照理說應該要是固定的檔案名稱。

看來它應該是每次都有不同的加密去產生這樣的網址,後端再去作出驗證?
而exp可能也不是我單純想像的,而是也像是一組密碼?

按讚的人:

共有 3 則留言

照你這樣說,大概是這樣

  • exp - 過期時限 timestamp
  • acl - 存取控制串列
  • hmac - 金鑰雜湊訊息鑑別碼
  • *.mp4 - 動態檔案名稱

你隨意更改參數的話,某種 hash 計算之後,會跟 hmac 對不起來

然後為了避免影片檔案名稱一直被 try 所以連名稱都是動態的...

看來是很有價值的檔案影片呀,可能是課程影片或是電影版權內容影片吧...

按讚的人:

站長好猛,又敏銳又回答得好清楚!
原來如此以後我長大寫網頁,也要學會用這些招式來保存影片,好有趣。
前後端感覺既像是攻防、又可以是合作配合

連影片檔案名稱,都要弄成動態的,實在太麻煩、開發時間大幅增加

實務上還是以需求為主,根據需求決定技術規格

開發者就是不斷在協助判斷「開發成本」與「商業價值」之間做取捨、平衡

系統不能太陽春,但也不能太 over-engineering

哈哈

按讚的人: