堵塞Web漏洞(中) |
發(fā)布時間: 2012/8/9 15:15:48 |
●其它錯誤
此外,還有一些其它難以歸類的錯誤,如“非1即0”導致繞過認證的問題。 9.2.3常用的的CGI漏洞檢測工具 1.Twwwscan 這個工具速度比較快,而且可以利用參數(shù)把windows系統(tǒng)和unix系統(tǒng)分開掃描,不使用圖形界面,比較簡單些; 2.Cis 是個圖形化的小巧掃描工具,主要是針對windows系統(tǒng)設計,對檢查出來的CGI問題有比較詳細的描述,利于使用、分析和解決漏洞; 3.Voideye 圖形界面做的比較花哨,可以檢查的CGI問題比較多些,但不太準確。 4.Webscan 檢查種類特多,好象有300來條,能提供HTML格式報告,集合了一些跟隨攻擊方式,這些工具只是檢查一下服務器有沒有這個鏈接存在,如果有,就會報出存在漏洞,這當然會有很多誤報,工具是死的,人是活的,熟練應用這些輔助工具需要點時間熟悉一下就行了。 9.2.4如何讓你的CGI更安全 了解了CGI的安全問題,我們也該知道怎么加強CGI的安全了吧?下面簡單總結一下作為參考: 1、使用最新版本的Web服務器,安裝最新的補丁程序,正確配置服務器; 2、按照幫助文件正確安裝CGI程序,刪除不必要的安裝文件和臨時文件; 3、使用C編寫CGI程序時,使用安全的函數(shù); 4、使用安全有效的驗證用戶身份的方法; 5、驗證用戶的來源,防止用戶短時間內(nèi)過多動作; 6、推薦過濾; 7、注意處理好意外情況; 8、實現(xiàn)功能時制定安全合理的策略; 9、培養(yǎng)良好的編程習慣; 10、科學嚴謹?shù)闹螌W態(tài)度,避免“想當然”的錯誤; 9.3 ASP的安全性 ASP(ActiveServerPage),一個重要的Web技術。它的出現(xiàn)給互聯(lián)網(wǎng)帶來了新的活力,它以一種前所未有的方式處理瀏覽器與服務器的交互通過內(nèi)建對象、ADO支持、WSH(可通過它管理NTDOMAIN)幾乎可以完成傳統(tǒng)應用程序所能完成的一切工作! ASP是一種類似HTML(HypertextMarkupLanguage超文本標識語言)、Script與CGI(CommonGAtewayInterface通用網(wǎng)關接口)的結合體,但是其運行效率卻比CGI更高、程序編制也比HTML更方便且更有靈活性,程序安全及保密性也比Script好。如果您是第一次接觸互連網(wǎng)(Internet),那么您可能不很了解上述名詞,以下對各種名詞加以解釋并說明它們之間的區(qū)別。 HTML(HypertextMarkupLanguage)是一種超文本標識語言,文件通過這種格式可以在互連網(wǎng)上載送瀏覽,用戶只要使用網(wǎng)頁瀏覽器工具就可以瀏覽這些文件,目前比較常用的工具包括MicrosoftInternetExplorer,NetscapeCommunicator等,由于HTML文件都是由標簽(tag)所組成,因此它比較適合制作靜態(tài)網(wǎng)頁,再者,由于先天上的限制HTML是無法直接存取數(shù)據(jù)庫的,所以存取數(shù)據(jù)庫的工作大多是依靠CGI來處理。ASP不但可以包含HTML標簽,也可以直接存取數(shù)據(jù)庫及使用無限擴充的ActiveX控件,因此在程序編制上要比HTML方便而且更富有靈活性。 簡單講,ASP是位于服務器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的交互式Web服務器應用程序,如交互式的動態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息,上傳與下載等等,就像用戶在使用自己的CGI程序一樣。但是他比CGI簡單。更重要的是,ASP使用的ActiveX技術基于開放設計環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動態(tài)網(wǎng)頁幾乎具有無限的擴充能力,這是傳統(tǒng)的CGI等程序所遠遠不及的地方。使用ASP還有個好處,就在于ASP可利用ADO(ActiveDataObject,微軟的一種新的數(shù)據(jù)訪問模型,類似于DAO)方便地訪問數(shù)據(jù)庫,從而使得開發(fā)基于WWW的應用系統(tǒng)成為可能。 9.3.1ASP漏洞分析和解決方法 ASP的漏洞已經(jīng)算很少的了,想要找到數(shù)據(jù)庫的實際位置也不簡單,但這不表明黑客無孔可入,也正是這個觀點,一般的程序設計員常常忘記仔細的檢查是否有漏洞,所以才有可能導致網(wǎng)站資料被竊取的事件發(fā)生。 ASP里面含有一個安全漏洞,就是在/site/eg/source.asp這個隨軟件一起銷售的范例程序,里面的內(nèi)容有教使用者如何在服務器的這個目錄下隨意寫入檔案。解決這個漏洞的方法是建議刪除所有軟件提供的范例程序。 1、Code.asp文件會泄漏ASP代碼 舉個很簡單的例子,在微軟提供的ASP1.0的例程里有一個.asp文件,專門用來查看其它.asp文件的源代碼,該文件為ASPSamp/Samples/code.asp。如果有人把這個程序上傳到服務器,而服務器端沒有任何防范措施的話,他就可以很容易地查看他人的程序。例如: code.aspsource=/directory/file.asp 不過這是個比較舊的漏洞了,相信現(xiàn)在很少會出現(xiàn)這種漏洞。 下面這命令是比較新的: http://someurl/iissamples/exair/howitworks/code.asp/lunwen/soushuo.asp=xxx.asp 最大的危害莫過于ASP文件可以被上述方式讀出;數(shù)據(jù)庫密碼以明文形式暴露在黑客眼前; 問題解決或建議: 對于IIS自帶的showASPcode的ASP程序文件,刪除該文件或者禁止訪問該目錄即可。 2、filesystemobject組件篡改下載FAT分區(qū)上的任何文件的漏洞 IIS3、IIS4的ASP的文件操作都可以通過Filesystemobject實現(xiàn),包括文本文件的讀寫目錄操作、文件的拷貝改名刪除等,但是這個強大的功能也留下了非常危險的“后門”。利用Filesystemobjet可以篡改下載FAT分區(qū)上的任何文件。即使是NTFS分區(qū),如果權限沒有設定好的話,同樣也能破壞,一不小心你就可能遭受“滅頂之災”。遺憾的是很多Webmaster只知道讓Web服務器運行起來,很少對NTFS進行權限設置,而NT目錄權限的默認設置偏偏安全性又低得可怕。因此,如果你是Webmaster,建議你密切關注服務器的設置,盡量將Web目錄建在NTFS分區(qū)上,目錄不要設定EveryoneFullControl,即使是是管理員組的成員一般也沒什么必要FullControl,只要有讀取、更改權限就足夠了。也可以把Filesystemobject的組件刪除或者改名。 3、輸入標準的HTML語句或者javascript語句會改變輸出結果 在輸入框中輸入標準的HTML語句會得到什么相的結果呢? 比如一個留言本,我們留言內(nèi)容中輸入: <fontsize=10>你好!</font> 如果你的ASP程序中沒有屏蔽HTML語句,那么就會改變“你好”字體的大小。在留言本中改變字體大小和貼圖有時并不是什么壞事,反而可以使留言本生動。但是如果在輸入框中寫個javascript的死循環(huán),比如:<aherf=”http://someurl“onMouseover=”while(1){window.close(’/’)}“>特大新聞</a> 那么其他查看該留言的客人只要移動鼠標到”特大新聞“,上就會使用戶的瀏覽器因死循環(huán)而死掉。 解決方法和建議: 編寫類似程序時應該做好對此類操作的防范,譬如可以寫一段程序判斷客戶端的輸入,并屏蔽掉所有的HTML、JavaScrip。 4、AccessMDB數(shù)據(jù)庫有可能被下載的漏洞 問題描述: 在用Access做后臺數(shù)據(jù)庫時,如果有人通過各種方法知道或者猜到了服務器的Access數(shù)據(jù)庫的路徑和數(shù)據(jù)庫名稱,那么他能夠下載這個Access數(shù)據(jù)庫文件,這是非常危險的。比如:如果你Access數(shù)據(jù)庫book.mdb放在虛擬目錄下的database目錄下,那么有人在瀏覽器中輸入: http://someurl/database/book.mdb 如果你的book.mdb數(shù)據(jù)庫沒有事先加密的話,那book.mdb中所有重要的數(shù)據(jù)都掌握在別人的手中。 本文出自:億恩科技【www.allwellnessguide.com】 |