Unicode符號表在文章結尾提供
Unicode簡介
在早期的互聯網發展階段,由於缺乏統一規劃,不同國家、不同操作系統各自採用不同的字符編碼體系。比如,ASCII 作爲英文字符集,僅能處理英文等少量字符;GB2312 專爲簡體中文設計,用於在計算機中表示漢字 。
這種分散的編碼方式,在跨語言、跨系統交互時,極易出現編碼衝突問題,導致文字顯示亂碼、信息傳遞錯誤等情況。
爲解決這一難題,統一碼(Unicode)應運而生。它致力於爲世界上所有文字提供統一的編碼方案,讓不同語言的內容能在同一屏幕上正常顯示,從根本上避免編碼衝突,極大便利了跨語言的信息交流與展示,成爲互聯網全球化進程中關鍵的基礎支撐 。
Unicode之娛樂
Unicode作爲支持字符最多的編碼集,幾乎包括了世界上所有字符,像什麼各種國家的語言,標點符號,偏旁部首,數學運算符等等,以及一些可見的或不可見的字符。
那麼我們就來翻檢一下字符表,看看有哪些好玩的字符
抽象字符
你一定在網上看到過一些抽象文案,比如:
古埃及先哲來告訴你: 𓀀 𓀁 𓀂 𓀃 𓀄 𓀅 𓀆 𓀇 𓀈 𓀉 𓀊 𓀋 𓀌 𓀍 𓀎 𓀏 𓀐 𓀑 𓀒 𓀓 𓀔 𓀕 𓀖 𓀗 𓀘 𓀙 𓀚 𓀛 𓀜 𓀝 𓀞 𓀟 𓀠 𓀡 𓀢 𓀣 𓀤 𓀥 𓀦 𓀧 𓀨 𓀩 𓀪 𓀫 𓀬 𓀭 𓀮 𓀯 𓀰 𓀱 𓀲 𓀳 𓀴 𓀵 𓀶 𓀷 𓀸 𓀹 𓀺 𓀻 𓀼 𓁊 𓁋 𓁌 𓁍 𓁎 𓁏 𓁐 𓁑 𓁒 𓁓 𓁔 𓁕 𓁖 𓁗 𓁘 𓁙 𓁚 𓁛 𓁜 𓁝 𓁞 𓁟 𓁠 𓁡 𓁢 𓁣 𓁤 𓁥 𓁦 𓁧 𓁨 𓁩 𓁪 𓁫 𓁬 𓁭 𓁮 𓁯 𓁰 𓁱 𓁲 𓁳 𓁴 𓁵 𓁶 𓁷 𓁸 𓁹 𓁺 𓁻 𓁼 𓁽 𓁾 𓁿 𓂀 𓂁 𓂂 𓂃 𓂄 𓂅 𓂆 𓂇 𓂈 𓂉 𓂊 𓂋 𓂌 𓂍 𓂎 𓂏 𓂐 𓂑 𓂒 𓂓 𓂔 𓂕 𓂖 𓂗 𓂘 𓂙 𓂚 𓂛 𓂜 𓂝 𓂞 𓂟 𓂠 𓂡 𓂢 𓂣 𓂤 𓂥 𓂦 𓂧 𓂨 𓂩 𓂪 𓂫 𓂬 𓂭 𓂮 𓂯 𓆨 𓆩 𓆪 𓆫 𓆬 𓆭 𓆮 𓆯 𓆰 𓆱 𓆲 𓆳 𓆴 𓆵 𓆶 𓆷 𓆸 𓆹 𓆺 𓆻 𓆼 𓆽 𓆾 𓆿 𓇀 𓇁 𓇂 𓇃 𓇄 𓇅 𓇆 𓇇 𓇈 𓇉 𓇊 𓇋 𓇌 𓇍 𓇎 𓇏 𓇐 𓇑 𓇒 𓇓 𓇔 𓇕 𓇖 𓇗 𓇘 𓇙 𓇚 𓇛 𓇜 𓇝 𓇞 𓇟 𓇠 𓇡 𓇢 𓇣 𓇤 𓇥 𓇦 𓅹 𓅺 𓅻 𓅼 𓅽 𓅾 𓅿 𓆀 𓆁 𓆂 𓆃 𓆄 𓆅 𓆆 𓆇 𓆈 𓆉 𓆊 𓆋 𓆌 𓆍 𓆎 𓆏 𓆐 𓆑 𓆒 𓆓 𓆔 𓆕 𓆖 𓆗 𓆘 𓆙 𓆚 𓆛 𓆜 𓆝 𓆞 𓆟 𓆠 𓆡 𓆢 𓆣 𓆤 𓆥 𓆦 𓆧 𓅈 𓅉 𓅊 𓅋 𓅌 𓅍 𓅎 𓅏 𓅐 𓅑 𓅒 𓅓 𓅔 𓅕 𓅖 𓅗 𓅘 𓅙 𓅚 𓅛 𓅜 𓅝 𓅞 𓅟 𓅠𓅡 𓅢 𓅣 𓅤 𓅥 𓅦 𓅧 𓅨 𓅩 𓅪 𓅫 𓅬 𓅭 𓅮 𓅯 𓅰 𓅱 𓅲 𓅳 𓅴 𓅵 𓅶 𓅷 𓅸 𓃵 𓃶 𓃷 𓃸 𓃹 𓃺𓅠𓅡𓅢𓅣𓅤𓅥𓅦𓅧𓅨𓅩𓅪𓅫𓅬𓅭𓅮𓅯𓅰𓅱𓅲𓅳𓅴𓅵𓅶𓅷𓅸𓅹𓅺𓅻𓅼𓅽𓅾𓅿𓆀𓆁𓆂𓆃𓆄𓆅𓆆𓆇𓆈𓆉𓆊𓆋𓆌𓆍𓆎𓆏𓆐𓆑𓆒𓆓𓆔𓆕𓆖𓆗𓆘𓆙𓆚𓆛𓆜𓆝𓆞𓆟𓆠𓆡𓆢𓆣𓆤𓆥𓆦𓆧𓆨𓆩𓆪𓆫𓆬𓆭𓆮𓆯𓆰𓆱𓆲𓆳𓆴𓆵𓆶𓆷𓆸𓆹𓆺𓆻𓆼𓆽𓆾𓆿𓇀𓇁𓇂𓇃𓇄𓇅𓇆𓇇𓇈𓇉𓇊𓇋𓇌𓇍𓇎𓇏𓇐𓇑𓇒𓇓𓇔𓇕𓇖𓇗𓇘𓇙𓇚𓇛𓇜𓇝𓇞𓇟𓇠𓇡𓇢𓇣𓇤𓇥𓇦𓇧𓇨𓇩𓇪𓇫𓇬𓇭𓇮𓇯𓇰𓇱𓇲𓇳𓇴𓇵𓇶𓇷𓇸𓇹𓇺𓇻𓇼𓇽𓇾𓇿𓈀𓈁𓈂𓈃𓈄𓈅𓈆𓈇𓈈𓈉𓈊𓈋𓈌𓈍𓈎𓈏𓈐𓈑𓈒𓈓𓈔𓈕𓈖𓈗𓈘𓈙𓈚𓈛𓈜𓈝𓈞𓈟𓈠𓈡𓈢𓈣𓈤𓈥𓈦𓈧𓈨𓈩𓈪𓈫𓈬𓈭𓈮𓈯𓈰𓈱𓈲𓈳𓈴𓈵𓈶𓈷𓈸𓈹𓈺𓈻𓈼𓈽𓈾𓈿𓉀𓉁𓉂𓉃𓉄𓉅𓉆𓉇𓉈𓉉𓉊𓉋𓉌𓉍𓀀𛀍𛰼/p>
再比如說:
你說的對!但是我們兩河流域不這麼看: 𒀰𒀱𒀲𒀳𒀴𒀵𒀶𒀷𒀸𒀹𒀺𒀻𒀼𒀽𒀾𒀿𒀰𒀱𒀲𒀳𒀴𒀵𒀶𒀷𒀸𒀹𒀺𒀻𒀼𒀽𒀾𒀿𒁀𒁁𒁂𒁃𒁄𒁅𒁆𒁇𒁈𒁉𒁊𒁋𒁌𒁍𒁎𒁏𒁐𒁑𒁒𒁓𒁔𒁕𒁖𒁗𒁘𒁀𒁁𒁂𒁃𒁄𒁅𒁆𒁇𒁈𒁉𒁊𒀰𒀱𒀲𒀳𒀴𒀵𒀶𒀷𒀸𒀹𒀺𒀻𒀼𒀽𒀾𒀿𒁀𒁁𒁂𒁃𒁄𒁅𒁆𒁇𒁈𒀰𒀱𒀲𒀳𒀴𒀵𒀶𒀷𒀸𒀹𒀺𒀻𒀼𒀽𒀾𒀿𒁀𒁁𒁂𒁃𒁄𒁅𒁆𒁇𒁈𒁉𒁊𒁋𒁌𒁍𒁎𒁏𒁐𒁑𒁒𒁓𒁔𒁕𒁖𒁗𒁘𒁉𒁊𒁋𒁌𒁍𒁎𒁏𒁐𒁑𒁒𒁓𒁔𒁕𒁖𒁗𒁘𒁋𒁌𒁍𒁎𒁏𒁐𒁑𒁒𒁓𒁔𒁕𒁖𒁗𒁘𒀰𒀱𒀲𒀳𒀴𒀵𒀶𒀷𒀸𒀹𒀺𒀻𒀼𒀽𒀾𒀿𒁀𒁁𒁂𒁃𒁄𒁅𒁆𒁇𒁈𒁉𒁊𒁋𒁌𒁍𒁎𒁏𒁐𒁑𒁒𒁓𒁔𒁕𒁖𒁗𒁘
又比如說:
我剛喫了日本海鮮,救我,我要開始變異了…進化…生存……優先種族需要進食………我已經神志不清了! V我50…~..**jjjjjjjjjĵjj肯德基…
以上這些抽象奇怪的符號,其實在Unicode字符表中都可以找到,有些是自帶的,有些則是通過多種字符組合達到這種抽象的效果
比如說我要製作一個超出上下行,但其實是在同一行的抽象字符,可以這麼做:
首先找一些正常的字符,比如瘋狂星期四V我50,然後我們再使用Unicode中一些帶有特殊功能的字符,在原本字符上添加
比如使用正常字符和阿拉伯字母擴展A(U+08A0-U+08FF)組合,就可以達到以上喫了日本海鮮的效果
ࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚࣚ瘋狂星期四
空白名/重複ID
在Unicode字符表中,不僅支持可見字符,像換行、回車等不可見字符也是可以複製使用的,所以我們可以利用這些字符不可見的特性,達到發送空白消息,空白名,起重複ID的效果
比如說在評論區,輸入一個空格後提示,不允許發送空白消息,那麼我們就可以使用不可見來進行佔位,達到發送空白消息的效果
這裏以微信舉例,我們都知道微信是不能發送空白消息的
不能發送空白消息
那我們使用Unicode不可見字符試試呢?這裏我使用的是U+200B零寬間隔作爲佔位符發送,這個字符的特點就是零寬間隔,也就是說,它的寬度是0,無法選中,從而達到了視覺效果上的不可見,哪怕我現在在這一行裏輸入了無數個,你們也無法看到
接下來把它複製粘貼到微信中發送,你會發現無法發送,這時候只需要按空格,就可以通過這種方式發送空格達到空白消息的效果
同樣的方式也可以用在其他平臺的任何輸入框中,只要沒有對字符進行過濾都可以使用(小黑盒之前還可以,現在不行了)
抖音空白消息
抖音空白暱稱
空白熱點名稱
Unicode之安全
通過以上Unicode字符,我們發現了許多字符的特性,有的不可見,有的看起來都要飛起來了但是實際在同一行,有的強制從右到左
對於網絡安全來講,Unicode本身並不存在危害,但是基於這些Unicode字符的特性,我們可以利用這些特性進行攻擊和利用
視覺欺騙
視覺問題一般指幾個不同的不同的字符在某個字體下看起來較爲相同。可能是字符之間一對一相似、多個字符的組合字符和一個字符相似等,這種現象在字體較小的情況下會更加明顯,在一些文章中這種問題也被稱爲同形異義詞(homographs)問題。
比如說下面這串字符:
"Aa"和"Аа",肉眼看上去幾乎是一模一樣的,但是其實前面是英文字母,後面是西裏爾字母,通過這個方法,我們可以達到ID僞造或者重複名的效果
RLO擴展名僞裝
在大部分國家和地區,書寫和閱讀方式都是從左到右,但在中東地區,他們的閱讀和書寫是從右到左的,Unicode作爲致力於統一全球編碼的字符集編碼,當然也會兼容這一字符格式
在Unicode中,強制從右到左U+202E這個字符的特性是,將後續的文本的顯示方向從默認的左到右(LTR)改爲從右到左(RTL)
嘗試將手機的佈局設置爲從右至左,可以更直觀的感受一下
開發者選項中打開
或者把電腦的系統語言設置爲阿拉伯語,會強制將所有佈局變爲從右至左
接下來回歸正題,正常來說,強制從右至左的效果就是將文本翻轉,比如"你好世界",在"你"前面插入字符之後,會變爲"界世好你",那麼我們可以使用這種方式,對文件名進行修改,從而讓文件看起來像是其他文件類型
比我現在我創建一個名爲AI.exe的可執行文件,現在使用RLO字符,使文件看起來像是文本文件
首先創建文件,在"."之前右鍵插入RLO
右鍵插入或直接複製粘貼
然後輸入txt,重命名完成就可以看到效果了,我們可以把文件圖標進行修改,做進一步的僞裝
識別方法也很簡單,就是通過文件類型判斷,在文件修改日期之後,可以看到真正的文件類型
非視覺欺騙
Unicode緩衝區溢出
字符編碼的不同,每個字符的佔用大小也不同,如果程序在轉換時沒有進行很好的處理,那麼就會造成緩衝區溢出漏洞
參考文章:Unicode緩衝區溢出
假設一個程序被設計爲,分配基於ASCII字符的緩衝區,但用戶卻傳入了一個Unicode字符,導致轉換時超出緩衝區容量
例如:分配了 200 字節緩衝區處理 ASCII 輸入,但輸入被轉換爲 Unicode 後變成 400 字節,造成溢出。
編碼繞過
如果 Web 應用程序將用戶輸入的內容(包括 Unicode 字符)不安全地回顯到頁面上,它可能導致跨站腳本攻擊(XSS)。例如,攻擊者在輸入中插入 Unicode 字符,以繞過輸入過濾,然後注入惡意腳本。
例如:<script>alert('XSS')</script> ,服務器過濾script字符,可以在中間插入零寬字符或其他字符,繞過服務器過濾,最後被瀏覽器渲染執行
(在寫上面JS代碼時,alert語句被小黑盒過濾,使用零寬字符成功繞過)
總結
Unicode字符表網站:https://symbl.cc/cn/unicode-table/
Uincode除了正常的使用之外,更多的還是用來進行娛樂,Unicode安全只能提供一些簡單的思路,很少可以做到直接攻擊,大多都是通過視覺欺騙來進行釣魚等攻擊。
Unicode字符還是有很多娛樂效果的,這裏給大家提供幾個思路:
各個國家地區文字的相似符號和字符組合
可以達到的效果有:重複ID,賬號僞裝,誇張的文本顯示
格式字符,如零寬間隔,連接符和無連接符,從左至右或從右至左
可以達到的效果有:繞過字符過濾,特殊視覺效果,字符佔位等
另外,插入不可見字符也是會增加字數統計中的字符個數的,所以好像也可以用來湊字數?
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com