短網址安全淺談

樂樂多多發表於2020-08-29

  何謂短網址(Short URL)?顧名思義,就是形式上比較短的網址,當前主要是藉助短網址來替代原先冗長的網址,方便傳輸
和分享。短網址服務也就是將長網址轉換為短網址的服務,這種服務在方便了廣大網民的同時也帶來了一定的安全風險。

一、短網址基礎 

   短網址服務可以提供一個非常短小的URL以代替原來的可能較長的URL,將長的URL地址縮短。使用者訪問縮短後的URL時,通
常將會重定向到原來的URL。短網址服務主要起源於一些具有字數限制的微部落格服務,但是現在廣泛用於簡訊、郵件等。 

   很多安全問題是跟安全場景相關的,隨著場景的不斷變化,安全問題也是變化的。短網址的初衷是在微博這種限制字數的公共
平臺使用,也就是說它基本是公開的,但是後續在個人簡訊和郵件之中,其實有部分已經是私密的。 這直接引發了短網址第一
個比較大的潛在風險。 

在瞭解短網址風險和漏洞之前,我們首先應該瞭解下短網址是什麼以及如何工作。 

   短網址服務的基本流程:使用者將長網址提交到短網址服務中,之後短網址服務經過URL處理之後,利用轉換演算法對長網址進行
轉換,最後分別將長網址和短網址儲存到資料庫之中。部分短網址服務為了防止出現對短地址進行連續轉化或者提供一些展示長
網址TITLE的功能,所以會對長網址進行訪問。

--有需要的可以+V   mkapi005--  

下面我利用簡單的三個小例子介紹下對應的演算法: 

(1)進位制演算法: 

演算法簡述:一個以數字、大小寫字母共62個字元的任意進位制的演算法。 

資料庫中ID遞增,當ID為233,則對應短網址計算過程如下: 

①設定序列為“0123456789abcdefghijklmnopqrstuvwxyz” 

② 233/36=6 

③ 233%36= 17 

④依次取上述字元的6位,17位,則為6h 

其生成之後的短網址為xx.xx/6h 

(2)隨機數演算法: 

演算法簡述:每次對候選字元進行任意次隨機位數選擇,拼接之後檢查是否重複 

若要求位數為2,則其對應短地址為計算過程如下: 

①設定字元序列“0123456789abcdefghijklmnopqrstuvwxyz” 

②根據字元個數設定最大值為35,最小值為0,取2次隨機數假設為:6,17 

③依次取上述字元的6位和17位,則為6h 

其生成之後的短網址為xx.xx/6h 

(3)HASH演算法: 

演算法簡述:對id進行hash操作( 可選:利用隨機數進行加鹽),並檢查是否重複 

設定ID自增,若ID=233,則其對應短地址為計算過程如下: 

①取隨機數為鹽 

②對233進行sha1加密為: aaccb8bb2b4c442a7c16a9b209c9ff448c6c5f35:2 

③要求位數為7,直接取上述加密結果的前7位為:aaccb8 

其生成之後的短網址為xx.xx/2e8c027 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976405/viewspace-2715738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章