如何使用Unicode網域名稱進行網路釣魚攻擊?

2021-09-23 03:28:49 字數 1355 閱讀 7911

本文講的是如何使用unicode網域名稱進行網路釣魚攻擊?

如果我告訴你這可能是乙個網路釣魚**,你會相信嗎?來看下這個poc

punycode是可以註冊具有外來字元的網域名稱,它是通過將單個域標籤轉換為僅使用ascii字元的替代格式來工作。例如,域「xn--s7y.co」等效於「短.co」。

從安全角度來說,unicode域可能是有問題的,因為許多unicode字元難以與常見的ascii字元區分開來。可以註冊諸如「xn--pple-43d.com」的域,這相當於「аpple.com」。乍看起來可能不是很明顯,但是「аpple.com」使用 cyrillic(u + 0430)而不是ascii「a」(u + 0041)。這被稱為同源攻擊。

但不幸的是,當每個字元都被替換為單一外語的類似字元時,chrome(和firefox的)同形異義保護機制其實是失敗的。註冊為「xn--80ak6aa92e.com」的域「аррӏе.com」只能使用cyrillic字元繞過過濾器。你可以使用chrome或firefox在poc中自我檢驗。在許多情況下,chrome和firefox中的字型使這兩個域在視覺上無法區分。在不仔細檢查**的url或ssl證書的情況下,是無法將該**識別為欺詐。這個程式很好地展示了兩組人物之間的區別,internet explorer和safari則幸運的並不容易受到攻擊。

截圖:chrome,firefox,firefox ssl

這個問題是在2023年1月20日被報告給chrome和firefox,並於3月24日在chrome 59(當前在canary)的中繼線被修復。chrome團隊自此決定將修補程式包含在chrome 58中,應該可以在4月25日左右發布,但firefox仍然未解決這個問題,因為這一問題的具體範圍仍然未定。 bugzilla將問題最初標記為「resolved」和「wontfix」,儘管它已被重新進行了解讀,並且被公開,但他們仍然只是給出了「sec-low」關鍵字。

我們的idn威脅模式特別排除了全部指令碼同形異義,因為它們無法以程式設計方式進行檢測,我們的「tld白名單」方法在面對大量新tld時並未進行擴充套件。如果你在沒有適當的防欺詐保護(如.com)的登錄檔中購買域,那麼可能需要感到遺憾的是,網域名稱的所有者有責任檢查整個指令碼的同形異義並進行註冊。

目前firefox使用者可以通過以下方式限制他們對此漏洞的訪問:配置並將network.idn_show_punycode設定為true。這將迫使firefox始終以其「punycode」形式顯示idn域,從而可以識別惡意網域名稱。

事實上還有乙個簡單的方式來限制這種問題的損害——就是始終使用密碼管理器。 一般來說,使用者必須非常小心,並在輸入個人資訊時注意url。 我希望firefox會考慮實施這個問題的解決方案,因為即使是那些非常注意網路釣魚的人也會引起嚴重的混淆。

原文發布時間為:2023年4月18日

IOS 使用網域名稱進行Socket連線

cocos2d開發網 cocos2dev.com,謝謝!專案中用到了socket連線,由於我使用的boost,而boost的建立連線是只能傳ip位址的,而我伺服器位址是網域名稱,所以就要將網域名稱轉到ip。看了下 其實也挺簡單的。server address server domain hosten...

使用Python指令碼進行網域名稱解析

因為在研究爬蟲,所以也了解了下網域名稱解析。要提高爬蟲的效率,就需要提高網域名稱解析的效率。我將爬蟲記錄下的網域名稱作為待解析的網域名稱來測試各網域名稱解析方法的效率。我嘗試以下四種方法 1.單執行緒依次解析各網域名稱,2.多執行緒同時解析各網域名稱,3.執行緒池解析各網域名稱,4.使用adns庫解...

如何在C 中使用unicode編碼

int cd iconv open utf8 gb2312 int il strlen input int bufl il 3 1 char output char calloc bufl,sizeof char char p output int oleft bufl int ret iconv ...