入侵chinalinux站點技術(shù)指導(dǎo)
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:35:56 作者:佚名
我要評論

大家都知道,中國有個最大的操作系統(tǒng)軟件生產(chǎn)廠家,那就是 chinalinux。很多人都想試圖進入其主站點 http://www.chinalinux.com,
因為那將是對自己的一個挑戰(zhàn)。終於有一天成功的進入了其主站,在此寫出我的過程,以及對常見web服務(wù)的安全模型的理解,對此的一些總結(jié)
大家都知道,中國有個最大的操作系統(tǒng)軟件生產(chǎn)廠家,那就是 chinalinux。很多人都想試圖進入其主站點 http://www.chinalinux.com,
因為那將是對自己的一個挑戰(zhàn)。終於有一天成功的進入了其主站,在此寫出我的過程,以及對常見web服務(wù)的安全模型的理解,對此的一些總結(jié)
等,希望大家能夠從中得到自己的理解。
首先,那當然得介紹介紹這chinalinux站點的一些情況吧。http://www.chinalinux.com是使用自己開發(fā)的一個由linux升級得來的中文操作系
統(tǒng),而web服務(wù)也是采用自己的產(chǎn)品ccs。這ccs安裝、使用非常方便,也很容易配置管理,所以很多管理員都喜歡使用這個產(chǎn)品。
為了要能進入這樣的站點,那當然就得熟悉ccs這個web服務(wù)系統(tǒng)了。根據(jù)這個系統(tǒng)的一些基本服務(wù)特性,以及一些權(quán)限配置,簡單總結(jié)後
有三點。
一、ccs系統(tǒng)提供外界可以訪問系統(tǒng)一部分目錄文件的服務(wù)
二、ccs提供虛擬目錄配置,每個虛擬目錄可以對應(yīng)一定的權(quán)限
三、ccs系統(tǒng)文件類型配置,可以配置不同的文件類型,提供直接在服務(wù)端運行和返回客戶端運行兩種方式 通過上面的了解,我總結(jié)出了ccs的一個安全模型,那就是ccs是一個外掛式的有權(quán)限限制的web系統(tǒng)。怎么來理解這“外掛”呢?因為大家 熟悉操作系統(tǒng)的都知道,操作系統(tǒng)本身對一些對象有權(quán)限控制,而這ccs系統(tǒng)的權(quán)限控制不是依靠操作系統(tǒng)本身的這些功能,而是依靠自己的一 些檢測。最重要的一點,操作系統(tǒng)對對象權(quán)限的分配都附在對象本身身上,而ccs的是把所有對象的權(quán)限分配記在ccs系統(tǒng)上面。 這點有什么區(qū)別呢,操作系統(tǒng)處理的時候每個真實對象有一個檔案,而每個對象可能有些別名,這樣訪問這些別名的時候我們不用關(guān)心它 到底是別名還是真名,只要最終對應(yīng)到那個唯一的檔案就能正確的得到權(quán)限分配。打個形象點的比喻,月底發(fā)工資,操作系統(tǒng)把每個人建立了 一個唯一的檔案,這些檔案里面記錄有這個人的工資,而這個人可能叫小張也叫張三,那么發(fā)工資的時候不用管他叫小張還是張三,最終是找 到了他的工資表也就正確的發(fā)放了他的工資。而對於ccs系統(tǒng)來說,因為它沒有這樣一張工資表,它就是根據(jù)人名來確定工資,所以它就必須考 慮每個人所有的名字才能正確的發(fā)放工資。所以根據(jù)這個基本的特點,總結(jié)出了安全編寫ccs系統(tǒng)應(yīng)該注意的四點: 1、 ccs系統(tǒng)提供的服務(wù)應(yīng)該做chroot限制
2、 ccs系統(tǒng)應(yīng)該能識別一個真實目錄對應(yīng)的所有目錄名
3、 ccs系統(tǒng)應(yīng)該能識別一個真實文件對應(yīng)的所有文件名
4、 ccs系統(tǒng)的調(diào)用接口應(yīng)該完全按照接口意思實現(xiàn) 這幾點,每點都可以寫出一大篇文章了,因為這篇文章不是寫這些,所以也就只寫這點提綱式的東西吧。不光是CCS系統(tǒng)需要注意上面4點 ,其它的WEB服務(wù)器差不多同樣需要考慮這樣4點。 根據(jù)這些認識以及對一些原來公布漏洞的理解,很快就發(fā)現(xiàn)了大量的漏洞,在此總結(jié)出來原因:編寫CCS系統(tǒng)的人員沒有建立一個安全模型 ,對安全沒有深刻的認識,所以在系統(tǒng)實現(xiàn)上就沒有系統(tǒng)的、全面的對權(quán)限做檢測,只是編寫人員想到一條做一條,因為沒有明確提出這些安 全上的要求,這些檢測也往往是很容易逃避的,所以造成這么多的漏洞。 說了這么多,還沒有正式提到漏洞,那就馬上來了。根據(jù)上面的第1條,顯然CCS系統(tǒng)應(yīng)該檢測用戶請求中的“/../”,這點不知道現(xiàn)在還 有多少WEB有這樣低級的嚴重的不可饒恕的錯誤。CCS系統(tǒng)低版本就有這樣的漏洞,但現(xiàn)在顯然沒有了,它會先檢測這樣的請求,做出正確的處 理。但是因為沒有這樣明確的安全模型,所以錯誤又出來了。為了對多語言以及一些傳輸設(shè)備的支持,CCS系統(tǒng)支持一種unicode的傳輸編碼格 式,而經(jīng)過這樣的解碼後,請求的字符已經(jīng)發(fā)生變化,顯然根據(jù)上面安全模型的提出的“外掛式”特徵,這權(quán)限檢測不能依靠解碼前的檢測, 需要再次檢測,而CCS根本就沒意思到這些,所以我們可以輕易突破所有這些限制了。 於是試了其主站http://www.chinalinux.com果然有此漏洞,不過沒法利用干什么事,因為其主站虛擬目錄對應(yīng)的一個可執(zhí)行/csapi目錄是 作了chroot限制,也就是通過這個虛擬目錄,往上級目錄返回最終也到不了系統(tǒng)的根“/”,當然也就不能執(zhí)行系統(tǒng)/bin/目錄里面的東西了, 也不能得到/etc/目錄里面的密碼文件,而那些缺省安裝沒有做chroot限制的可執(zhí)行虛擬目錄卻被刪除。好不容易找到一個漏洞卻不能利用。 不過後來偶然一天訪問到其一個分站點http://support.chinalinux.com,於是偷偷的試了一下其缺省安裝的可執(zhí)行虛擬目錄/chinaadc, 就是在瀏覽器里面輸入了http://support.chinalinux.com/chinaadc/,乖乖,返回的是“HTTP 錯誤 403 - 禁止訪問”而不是此目錄不存在的 “HTTP 404 - 無法找到文件”錯誤。大家都知道這個目錄是沒有做chroot限制的,可以成功的返回到系統(tǒng)的根“/”,再進入系統(tǒng)目錄“/bin/ ”,執(zhí)行下面的shell程序“sh”了。當然也就用此sh查看了一些web目錄結(jié)構(gòu)。 http://support.chinalinux.com/chinaadc/..蠟../..蠟../bin/sh.elf?ls /http 就可以看到web目錄所在東西了,很高興的看到了此目錄里面有一些腳本“.sh”文件。 對於這些腳本文件,CCS系統(tǒng)又有漏洞,那就是上面第4條的一個漏洞。在作接口的時候,接口實現(xiàn)程序一定得完全按照接口意思實現(xiàn),這 點CCS系統(tǒng)出了更是無數(shù)的漏洞。而因為CCS是相對操作系統(tǒng)後出來的了,它在調(diào)用操作系統(tǒng)調(diào)用的時候,當然就不能要求操作系統(tǒng)來滿足它的 要求了,這些調(diào)用本身處於比CCS系統(tǒng)低的層次,也不應(yīng)該去滿足CCS的特殊要求,所以CCS必須明白一些操作系統(tǒng)調(diào)用有什么特殊的地方。這在 chinalinux系統(tǒng)實現(xiàn)加載程序的調(diào)用上,為了支持長文件名、文件名里面的空格等,可以在加載的文件名前後加上“””號,chinalinux加載 程序就是用“””來匹配到底加載的是哪個文件。而又一點,如果檢測到是加載“.sh”的腳本文件,就自動的調(diào)用shell程序“sh”去解釋, 而這調(diào)用也饒過了chroot使得不能訪問“/”以及系統(tǒng)目錄的限制。在調(diào)用“sh”的時候,操作系統(tǒng)會把這個腳本文件以及腳本文件的參數(shù)統(tǒng)一 作為參數(shù)加載。大家都知道shell程序“sh”本身支持命令連接符、管道等,所以我們可以在參數(shù)里面加上命令連接符和我們要執(zhí)行的命令。所 以CCS在加載程序的時候就必須應(yīng)該明白操作系統(tǒng)chinalinux加載程序的這些特性,從而實現(xiàn)相應(yīng)的檢測。 對於上面看到的web目錄結(jié)構(gòu),以及里面的那些“.sh”腳本文件,我大膽的猜測其主站http://www.chinalinux.com可能也存在。雖然CCS 系統(tǒng)不準直接加載“.sh”的腳本文件,但是我們可以通過使用“””的辦法使得實際加載的不是CCS系統(tǒng)需要的“.elf”格式文件。 http://www.chinalinux.com/csapi/..蠟http/china.sh” .elf?” & ls /bin 成功的突破了chroot對根“/”的限制,查看到了系統(tǒng)目錄,也可以完全控制主站了。當然這些不是目的,我們也不希望這樣的站點有任何 的被修改,後來其站點終於也打上了相應(yīng)的補丁。 後來有人用unicode漏洞破了chinalinux一個廢棄不用的分站點,改了一個頁面并且大肆宣揚,這完全沒有必要。我們需要的是通過這些方 法得到我們考慮問題的思路、方法等,而不是去破壞。 最後再次總結(jié): 一、編寫WEB服務(wù)安全模型建立的必要性
二、站點安全配置往往因為一點小小的錯誤,使得全線崩潰 希望我們的程序員在編寫安全程序的時候,也要多考慮考慮我們怎么能夠更好的編寫安全的程序。 寫這個的時候隱含了很多信息.
chinalinux=microsoft
ccs=iis
chinaadc=msadc
csapi=isapi .sh=.bat
.elf=.exe 其實就是unicode漏洞拿下了 http://support.microsoft.com/msadc,因為此站點有/msadc可執(zhí)行虛擬目錄,而此目錄和系統(tǒng)目錄在同一個驅(qū)動器. 但主站http://www.chinalinux.com/isapi的可執(zhí)行目錄不在系統(tǒng)盤,unicode漏洞不能調(diào)用到系統(tǒng)目錄的 cmd.exe.但通過http://support.mscrosoft.com/msadc獲得了站點的目錄結(jié)構(gòu)及文件列表,找到里面的.bat文件了.再估計主站也有同樣的.bat文件,又通過另一個漏洞,調(diào)用.bat文件,這樣自動調(diào)用cmd.exe,就不存在cmd.exe路徑問題,再通過另一個漏洞,執(zhí)行了命令. 通過3個未公開漏洞,以及一個分站點獲取信息,順利拿下主站點.
二、ccs提供虛擬目錄配置,每個虛擬目錄可以對應(yīng)一定的權(quán)限
三、ccs系統(tǒng)文件類型配置,可以配置不同的文件類型,提供直接在服務(wù)端運行和返回客戶端運行兩種方式 通過上面的了解,我總結(jié)出了ccs的一個安全模型,那就是ccs是一個外掛式的有權(quán)限限制的web系統(tǒng)。怎么來理解這“外掛”呢?因為大家 熟悉操作系統(tǒng)的都知道,操作系統(tǒng)本身對一些對象有權(quán)限控制,而這ccs系統(tǒng)的權(quán)限控制不是依靠操作系統(tǒng)本身的這些功能,而是依靠自己的一 些檢測。最重要的一點,操作系統(tǒng)對對象權(quán)限的分配都附在對象本身身上,而ccs的是把所有對象的權(quán)限分配記在ccs系統(tǒng)上面。 這點有什么區(qū)別呢,操作系統(tǒng)處理的時候每個真實對象有一個檔案,而每個對象可能有些別名,這樣訪問這些別名的時候我們不用關(guān)心它 到底是別名還是真名,只要最終對應(yīng)到那個唯一的檔案就能正確的得到權(quán)限分配。打個形象點的比喻,月底發(fā)工資,操作系統(tǒng)把每個人建立了 一個唯一的檔案,這些檔案里面記錄有這個人的工資,而這個人可能叫小張也叫張三,那么發(fā)工資的時候不用管他叫小張還是張三,最終是找 到了他的工資表也就正確的發(fā)放了他的工資。而對於ccs系統(tǒng)來說,因為它沒有這樣一張工資表,它就是根據(jù)人名來確定工資,所以它就必須考 慮每個人所有的名字才能正確的發(fā)放工資。所以根據(jù)這個基本的特點,總結(jié)出了安全編寫ccs系統(tǒng)應(yīng)該注意的四點: 1、 ccs系統(tǒng)提供的服務(wù)應(yīng)該做chroot限制
2、 ccs系統(tǒng)應(yīng)該能識別一個真實目錄對應(yīng)的所有目錄名
3、 ccs系統(tǒng)應(yīng)該能識別一個真實文件對應(yīng)的所有文件名
4、 ccs系統(tǒng)的調(diào)用接口應(yīng)該完全按照接口意思實現(xiàn) 這幾點,每點都可以寫出一大篇文章了,因為這篇文章不是寫這些,所以也就只寫這點提綱式的東西吧。不光是CCS系統(tǒng)需要注意上面4點 ,其它的WEB服務(wù)器差不多同樣需要考慮這樣4點。 根據(jù)這些認識以及對一些原來公布漏洞的理解,很快就發(fā)現(xiàn)了大量的漏洞,在此總結(jié)出來原因:編寫CCS系統(tǒng)的人員沒有建立一個安全模型 ,對安全沒有深刻的認識,所以在系統(tǒng)實現(xiàn)上就沒有系統(tǒng)的、全面的對權(quán)限做檢測,只是編寫人員想到一條做一條,因為沒有明確提出這些安 全上的要求,這些檢測也往往是很容易逃避的,所以造成這么多的漏洞。 說了這么多,還沒有正式提到漏洞,那就馬上來了。根據(jù)上面的第1條,顯然CCS系統(tǒng)應(yīng)該檢測用戶請求中的“/../”,這點不知道現(xiàn)在還 有多少WEB有這樣低級的嚴重的不可饒恕的錯誤。CCS系統(tǒng)低版本就有這樣的漏洞,但現(xiàn)在顯然沒有了,它會先檢測這樣的請求,做出正確的處 理。但是因為沒有這樣明確的安全模型,所以錯誤又出來了。為了對多語言以及一些傳輸設(shè)備的支持,CCS系統(tǒng)支持一種unicode的傳輸編碼格 式,而經(jīng)過這樣的解碼後,請求的字符已經(jīng)發(fā)生變化,顯然根據(jù)上面安全模型的提出的“外掛式”特徵,這權(quán)限檢測不能依靠解碼前的檢測, 需要再次檢測,而CCS根本就沒意思到這些,所以我們可以輕易突破所有這些限制了。 於是試了其主站http://www.chinalinux.com果然有此漏洞,不過沒法利用干什么事,因為其主站虛擬目錄對應(yīng)的一個可執(zhí)行/csapi目錄是 作了chroot限制,也就是通過這個虛擬目錄,往上級目錄返回最終也到不了系統(tǒng)的根“/”,當然也就不能執(zhí)行系統(tǒng)/bin/目錄里面的東西了, 也不能得到/etc/目錄里面的密碼文件,而那些缺省安裝沒有做chroot限制的可執(zhí)行虛擬目錄卻被刪除。好不容易找到一個漏洞卻不能利用。 不過後來偶然一天訪問到其一個分站點http://support.chinalinux.com,於是偷偷的試了一下其缺省安裝的可執(zhí)行虛擬目錄/chinaadc, 就是在瀏覽器里面輸入了http://support.chinalinux.com/chinaadc/,乖乖,返回的是“HTTP 錯誤 403 - 禁止訪問”而不是此目錄不存在的 “HTTP 404 - 無法找到文件”錯誤。大家都知道這個目錄是沒有做chroot限制的,可以成功的返回到系統(tǒng)的根“/”,再進入系統(tǒng)目錄“/bin/ ”,執(zhí)行下面的shell程序“sh”了。當然也就用此sh查看了一些web目錄結(jié)構(gòu)。 http://support.chinalinux.com/chinaadc/..蠟../..蠟../bin/sh.elf?ls /http 就可以看到web目錄所在東西了,很高興的看到了此目錄里面有一些腳本“.sh”文件。 對於這些腳本文件,CCS系統(tǒng)又有漏洞,那就是上面第4條的一個漏洞。在作接口的時候,接口實現(xiàn)程序一定得完全按照接口意思實現(xiàn),這 點CCS系統(tǒng)出了更是無數(shù)的漏洞。而因為CCS是相對操作系統(tǒng)後出來的了,它在調(diào)用操作系統(tǒng)調(diào)用的時候,當然就不能要求操作系統(tǒng)來滿足它的 要求了,這些調(diào)用本身處於比CCS系統(tǒng)低的層次,也不應(yīng)該去滿足CCS的特殊要求,所以CCS必須明白一些操作系統(tǒng)調(diào)用有什么特殊的地方。這在 chinalinux系統(tǒng)實現(xiàn)加載程序的調(diào)用上,為了支持長文件名、文件名里面的空格等,可以在加載的文件名前後加上“””號,chinalinux加載 程序就是用“””來匹配到底加載的是哪個文件。而又一點,如果檢測到是加載“.sh”的腳本文件,就自動的調(diào)用shell程序“sh”去解釋, 而這調(diào)用也饒過了chroot使得不能訪問“/”以及系統(tǒng)目錄的限制。在調(diào)用“sh”的時候,操作系統(tǒng)會把這個腳本文件以及腳本文件的參數(shù)統(tǒng)一 作為參數(shù)加載。大家都知道shell程序“sh”本身支持命令連接符、管道等,所以我們可以在參數(shù)里面加上命令連接符和我們要執(zhí)行的命令。所 以CCS在加載程序的時候就必須應(yīng)該明白操作系統(tǒng)chinalinux加載程序的這些特性,從而實現(xiàn)相應(yīng)的檢測。 對於上面看到的web目錄結(jié)構(gòu),以及里面的那些“.sh”腳本文件,我大膽的猜測其主站http://www.chinalinux.com可能也存在。雖然CCS 系統(tǒng)不準直接加載“.sh”的腳本文件,但是我們可以通過使用“””的辦法使得實際加載的不是CCS系統(tǒng)需要的“.elf”格式文件。 http://www.chinalinux.com/csapi/..蠟http/china.sh” .elf?” & ls /bin 成功的突破了chroot對根“/”的限制,查看到了系統(tǒng)目錄,也可以完全控制主站了。當然這些不是目的,我們也不希望這樣的站點有任何 的被修改,後來其站點終於也打上了相應(yīng)的補丁。 後來有人用unicode漏洞破了chinalinux一個廢棄不用的分站點,改了一個頁面并且大肆宣揚,這完全沒有必要。我們需要的是通過這些方 法得到我們考慮問題的思路、方法等,而不是去破壞。 最後再次總結(jié): 一、編寫WEB服務(wù)安全模型建立的必要性
二、站點安全配置往往因為一點小小的錯誤,使得全線崩潰 希望我們的程序員在編寫安全程序的時候,也要多考慮考慮我們怎么能夠更好的編寫安全的程序。 寫這個的時候隱含了很多信息.
chinalinux=microsoft
ccs=iis
chinaadc=msadc
csapi=isapi .sh=.bat
.elf=.exe 其實就是unicode漏洞拿下了 http://support.microsoft.com/msadc,因為此站點有/msadc可執(zhí)行虛擬目錄,而此目錄和系統(tǒng)目錄在同一個驅(qū)動器. 但主站http://www.chinalinux.com/isapi的可執(zhí)行目錄不在系統(tǒng)盤,unicode漏洞不能調(diào)用到系統(tǒng)目錄的 cmd.exe.但通過http://support.mscrosoft.com/msadc獲得了站點的目錄結(jié)構(gòu)及文件列表,找到里面的.bat文件了.再估計主站也有同樣的.bat文件,又通過另一個漏洞,調(diào)用.bat文件,這樣自動調(diào)用cmd.exe,就不存在cmd.exe路徑問題,再通過另一個漏洞,執(zhí)行了命令. 通過3個未公開漏洞,以及一個分站點獲取信息,順利拿下主站點.
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁2024-01-06Windows系統(tǒng)安全風險-本地NTLM重放提權(quán)
入侵者主要通過Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認證過程,利用NTLM重放機制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風險微軟并不認為存在漏洞,所以2021-04-15- 這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21
- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權(quán),需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權(quán)與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權(quán)與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關(guān)于http和https的區(qū)別,對于加密的https,我們一直認為它是相對安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對你2016-08-10iPhone和Mac也會被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會導(dǎo)致用戶信息泄露。2016-07-27- 國家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進入攻擊者郵箱
面對惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進入攻擊者郵箱2016-07-06