Google有句承諾:Don't be eviI(不作惡),但是很顯然,誕生不久的谷歌輸入法沒聽見這句話……
Windows 2000曾經有個著名的輸入法漏洞:在它的系統登錄界面,通過調用中文輸入法的幫助文件就可以打開IE,從而繞過密碼進入系統。對此,微軟早已發布了相應的補丁,而且在Windows XP和Vista中屏蔽了輸入法的幫助。
但是,谷歌輸入法卻意外地讓這個漏洞重現了一下,隨后的升級中(最新版本1.0.18)就把這個漏洞補上了。下面,我們讓案情重現。首先,在Vista中,以管理員身份運行安裝好谷歌輸入法,當然,這是最早發布的那個版本。
Step1打開“控制面板”,單擊“時鐘、語言和區域”下的“更改鍵盤和輸入法”,在設置窗口切換到“管理”標簽,單擊“復制到保留的賬戶”,系統彈出賬戶控制提示時,單擊“繼續”,在彈出的窗口把當前用戶的區域和語言設置復制到本地系統賬戶。
其實,Vista的這個漏洞和Windows2000并不完全一樣,它在登錄界面啟動的是系統保留賬戶——SYSTEM賬戶。默認情況下,保留賬戶的輸入法只有“中文(簡體)美式鍵盤”和“微軟拼音輸入法”。我們在當前用戶環境下安裝谷歌輸入法后,只有通過上述的操作,才能讓SYSTEM賬戶在登錄界面調用它。
Step2重新啟動系統,在Vista用戶登錄界面單擊左下方的輸入法按鈕選擇“中文簡體-Google拼音輸入法”,此時登錄界面右方會出現輸入法指示條,單擊指示條最右側的設置按鈕,在彈出的菜單選擇“幫助…”。
普通輸入法,如紫光拼音、拼音加加,在登錄界面中的幫助菜單都是被屏蔽的,而且無法在IE7中輸入字符。但谷歌輸入法卻沒有這個限制!
Step3此時大家會驚奇地發現,可以在這里打開IE7訪問幫助窗口。單擊IE右側的“工具”,在下拉列表勾選“菜單欄”。接著單擊IE7菜單欄的“文件”→“打開”,在打開對話框輸入“C:\\Windows\\system32\\cmd.exe”(啟動命令提示符),單擊“確定”,此時屏幕會出現下載文件的提示,單擊“運行”按鈕即可啟動命令提示符。
Step4從命令提示符窗口標題可以知道這是以系統管理員身份啟動的,這個用戶就是系統內置的SYSTEM賬戶。它擁有系統最高權限,這樣我們就不用輸入密碼登錄系統,通過輸入法的漏洞就輕易入侵了Vista。
Step5現在可以在命令提示符下輸入“net user abc 123456/add”,這樣就能新建一個用戶名為“abe”,登錄密碼為“123456”的用戶。接著再輸入“net localgroupadministrators abc/add”,把剛才建立的ABC賬戶提升為管理員權限。
Step6重新啟動電腦,在登錄界面就可以用ABC賬戶登錄Vista了,而且ABC是系統管理員!
這就是通過谷歌輸入法入侵Vista的全過程。其實,在筆者看來,這個漏洞至少還有一點實用的價值:對于某些馬大哈用戶,如果忘記登錄密碼,可以在命令提示符下輸入“lusrmgr.msc”打開用戶管理臺,然后選中賬戶更改密碼。