亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

CGI安全概述 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【m.msguai.com - 電腦資料】

    經(jīng)過(guò)一段時(shí)間的研究,對(duì)目前比較流行的CGI語(yǔ)言有了比較深入的理解,因此在這里討論一下與CGI相關(guān)的一些話題,當(dāng)然主要是CGI的安全問(wèn)題,

CGI安全概述

    1.什么是CGI?

    不要奇怪,有相當(dāng)一部分人對(duì)CGI的概念還比較模糊,他們眼中的CGI就是Perl CGI,其實(shí)CGI是Common Gateway Interface(公用網(wǎng)關(guān)接口)的簡(jiǎn)稱,并不特指一種語(yǔ)言。事實(shí)上,幾乎任何支持標(biāo)準(zhǔn)輸入輸出的語(yǔ)言都可以稱為CGI語(yǔ)言,如Perl,Php,C,VC++等都可以稱為CGI語(yǔ)言。

    2.什么是CGI安全?

    這里所說(shuō)的CGI安全,主要包括兩個(gè)方面,一是Web服務(wù)器的安全,一是CGI語(yǔ)言的安全(其實(shí)對(duì)于解釋型CGI語(yǔ)言,還涉及到解釋器的安全,不過(guò)由于它在CGI安全中所占的比例不大,所以我們就不考慮了)。對(duì)于不同的CGI語(yǔ)言,我們所說(shuō)的CGI安全可能有些不同,比如說(shuō)對(duì)于ASP和JSP,我們所說(shuō)的CGI安全主要是指Web服務(wù)器的安全。而對(duì)于Php和Perl,我們所說(shuō)的CGI安全就主要是指CGI語(yǔ)言的安全。

    3.CGI存在什么安全問(wèn)題?

    既然CGI安全包括兩個(gè)方面,那我們就分別從這兩個(gè)方面來(lái)介紹一下CGI的安全性,下面依次介紹Web服務(wù)器的安全和CGI語(yǔ)言的安全。

    Web服務(wù)器的安全問(wèn)題主要包括兩個(gè)方面,一是Web服務(wù)器軟件編制中的BUG,二是服務(wù)器配置錯(cuò)誤。這可能導(dǎo)致CGI源代碼泄露,物理路徑信息泄露,系統(tǒng)敏感信息泄露或遠(yuǎn)程執(zhí)行任意指令。

    下面主要討論一下CGI語(yǔ)言的安全問(wèn)題。由于CGI語(yǔ)言的復(fù)雜性,所以這方面的安全問(wèn)題也比較多,參考Securityfocus關(guān)于漏洞起因的分類,我們可以為CGI語(yǔ)言漏洞分為以下幾類:。

    * 配置錯(cuò)誤

    這里所說(shuō)的配置錯(cuò)誤主要指CGI程序和數(shù)據(jù)文件的權(quán)限設(shè)置不當(dāng),這可能導(dǎo)致CGI源代碼或敏感信息泄露。還有一個(gè)經(jīng)常犯的錯(cuò)誤就是安裝完CGI程序后沒(méi)有刪除安裝腳本,這樣攻擊者就可能遠(yuǎn)程重置數(shù)據(jù)。前些日子“XX大聯(lián)盟”論壇多次被黑就是這個(gè)低級(jí)錯(cuò)誤所致。

    * 邊界條件錯(cuò)誤

    這個(gè)錯(cuò)誤主要針對(duì)C語(yǔ)言編寫(xiě)的CGI,利用這個(gè)錯(cuò)誤,攻擊者可能發(fā)起緩沖區(qū)溢出攻擊,從而提升權(quán)限。

    * 訪問(wèn)驗(yàn)證錯(cuò)誤

    這個(gè)問(wèn)題主要是因?yàn)橛糜隍?yàn)證的條件不足以確定用戶的身份而造成的,經(jīng)常會(huì)導(dǎo)致未經(jīng)授權(quán)訪問(wèn),修改甚至刪除沒(méi)有訪問(wèn)權(quán)限的內(nèi)容。用于確定用戶身份的方法一般有兩種,一是帳號(hào)和密碼,一是Session認(rèn)證。而不安全的認(rèn)證方法包括userid認(rèn)證,Cookie認(rèn)證等等。

    * 來(lái)源驗(yàn)證錯(cuò)誤

    比較常見(jiàn)的利用這種錯(cuò)誤進(jìn)行攻擊的方法就是DoS,也就是拒絕服務(wù)攻擊,如我們知道的灌水機(jī),就是利用CGI程序沒(méi)有對(duì)文章的來(lái)源進(jìn)行驗(yàn)證,從而不間斷的發(fā)文章,最后導(dǎo)致服務(wù)器硬盤充滿而掛起。

    * 輸入驗(yàn)證錯(cuò)誤

    這種錯(cuò)誤導(dǎo)致的安全問(wèn)題最多,主要是因?yàn)闆](méi)有過(guò)濾特殊字符,

電腦資料

CGI安全概述》(http://m.msguai.com)。比如說(shuō),沒(méi)有過(guò)濾“%20”造成的畸形注冊(cè),沒(méi)有過(guò)濾“../”經(jīng)常造成泄露系統(tǒng)文件,沒(méi)有過(guò)濾“$”經(jīng)常導(dǎo)致泄露網(wǎng)頁(yè)中的敏感信息,沒(méi)有過(guò)濾“;”經(jīng)常導(dǎo)致執(zhí)行任意系統(tǒng)指令,沒(méi)有過(guò)濾“|”或“\t”經(jīng)常導(dǎo)致文本文件攻擊,沒(méi)有過(guò)濾“’”和“#”經(jīng)常導(dǎo)致SQL數(shù)據(jù)庫(kù)攻擊,沒(méi)有過(guò)濾“<”和“>”導(dǎo)致的Cross-Site Scripting攻擊等。

    * 意外情況處理失敗

    這種錯(cuò)誤也很常見(jiàn),如沒(méi)有檢查文件是否存在就直接打開(kāi)設(shè)備文件導(dǎo)致拒絕服務(wù),沒(méi)有檢查文件是否存在就打開(kāi)文件提取內(nèi)容進(jìn)行比較而繞過(guò)驗(yàn)證,上下文攻擊導(dǎo)致執(zhí)行任意代碼等。

    * 策略錯(cuò)誤

    這種錯(cuò)誤主要是由于編制CGI程序的程序員的決策造成的。如原始密碼生成機(jī)制脆弱導(dǎo)致窮舉密碼導(dǎo)致在Cookie中明文存放帳號(hào)密碼導(dǎo)致敏感信息泄露,使用與CGI程序不同的擴(kuò)展名擴(kuò)展名存儲(chǔ)敏感信息導(dǎo)致該文件被直接下載,丟失密碼模塊在確認(rèn)用戶身份之后直接讓用戶修改密碼而不是把密碼發(fā)到用戶的注冊(cè)信箱,登陸時(shí)采用帳號(hào)和加密后的密碼進(jìn)行認(rèn)證導(dǎo)致攻擊者不需要知道用戶的原始密碼就能夠登陸等。

    * 習(xí)慣問(wèn)題

    程序員的習(xí)慣也可能導(dǎo)致安全問(wèn)題,如使用某些文本編輯器修改CGI程序時(shí),經(jīng)常會(huì)生成“.bak”文件,如果程序員編輯完后沒(méi)有刪除這些備份文件,則可能導(dǎo)致CGI源代碼泄露。另外,如果程序員總喜歡把一些敏感信息(如帳號(hào)密碼)放在CGI文件中的話,只要攻擊者對(duì)該CGI文件有讀權(quán)限(或者利用前面介紹的一些攻擊方法)就可能導(dǎo)致敏感信息泄露。

    * 使用錯(cuò)誤

    主要是一些函數(shù)的使用錯(cuò)誤,如Perl中的“die”函數(shù),如果沒(méi)有在錯(cuò)誤信息后面加上“\n”的話,就極可能導(dǎo)致物理路徑泄露。

    * 其它錯(cuò)誤

    此外,還有一些其它難以歸類的錯(cuò)誤,如“非1即0”導(dǎo)致繞過(guò)認(rèn)證的問(wèn)題。

    4.如果讓你的CGI更安全?

    了解了CGI的安全問(wèn)題,我們也該知道怎么加強(qiáng)CGI的安全了吧?下面簡(jiǎn)單總結(jié)一下作為參考:

    * 使用最新版本的Web服務(wù)器,安裝最新的補(bǔ)丁程序,正確配置服務(wù)器

    * 按照幫助文件正確安裝CGI程序,刪除不必要的安裝文件和臨時(shí)文件

    * 使用C編寫(xiě)CGI程序時(shí),使用安全的函數(shù)

    * 使用安全有效的驗(yàn)證用戶身份的方法

    * 驗(yàn)證用戶的來(lái)源,防止用戶短時(shí)間內(nèi)過(guò)多動(dòng)作

    * 推薦過(guò)濾“& ; ` ' \ " | * ? ~< >^ ( ) [ ] { } $ \n \r \t \0 # ../”

    * 注意處理好意外情況

    * 實(shí)現(xiàn)功能時(shí)制定安全合理的策略

    * 培養(yǎng)良好的編程習(xí)慣

    * 科學(xué)嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,避免“想當(dāng)然”的錯(cuò)誤 

最新文章