一個網站,安全問題可能從多方面而來。光靠任何一方面,都不可能保證絕對的安全。一個安全的網站,必須要靠各方面配合才能打造出來。
首當其沖的是服務器的安全,服務器本身如果被人入侵了,你的網站系統再安全,那也沒有任何作用。
其次是FTP或者遠程管理等的帳號安全,如果人家破解了你的FTP或者遠程管理權限,那也就等于窗戶開給人家怕,那家里的東西自然是隨便拿了。
上述的涉及系統管理的問題,這里不多說了,重點說說第三方面:腳本安全??v橫
腳本指在你的網站上的ASP,JSP,CGI等服務器端運行的腳本代碼,比如動易系統、動網論壇都屬此類。
腳本代碼的安全問題最主要最集中的問題出在兩個方面:SQL注入和FSO權限。
互動網站大多有數據庫,ASP代碼通過SQL語句對數據庫進行管理,而SQL語句中的一些變量是通過用戶提交的表單獲取,如果對表單提交的數據沒有做好過濾,攻擊者就可以通過構造一些特殊的URL提交給你的系統,或者在表單中提交特別構造的字符串,造成SQL語句沒有按預期的目的執行。
經常有網友在動易論壇提交一些掃描報告,說動易有SQL注入漏洞。像動易這么復雜的系統,我們不能說開發人員不會遺漏了一兩個表單數據的檢驗和過濾,如果的確存在這種疏忽,而攻擊者又通過源代碼看到了,那么肯定網站是抵御不了這樣的攻擊的。在早期的動力系統中,曾經有過這樣的漏洞。
到了動易的新版本,開發團隊在防止SQL注入方面下了很大的工夫,幾乎所有通過表單提交的數據,分字符性和數字性,分別用一個專門的函數進行處理。只要是提交的數據包含非法字符,或者被替換為安全字符,或者提交的數據被替換為默認值。為了程序具有較好的容錯性,我們并沒有對所有含有非法字符串的數據提交都以抱錯回應。比如當用戶訪問ShowSource.asp這個網頁,提交ChannelID=%3D這樣的數據,系統就會將其修改為ChannelID=0,這是安全的數據,但是不會顯示“您所提交的數據非法”這樣的提示。因為對于訪問者而言,這是沒有必要的。
也就是因為這樣的原因,一些比較弱智的漏洞掃描器就以為提交的ChannelID=%3D被執行了,于是告訴用戶ShowSource.asp?ChannelID=%3D存在高危漏洞??v橫科技
大家如果遇到掃描器報告有高危漏洞的,可以聯系我們開發人員確認。經過開發人員確認不存在,那就肯定不存在。即使掃描器報告說有,你也不用擔心。因為攻擊者是沒有辦法利用這個漏洞的。
除了SQL注入,還有一個更嚴重的安全問題:上傳木馬。
由于上傳組件(通常ASP開發者都使用一個或多個第三方開發的上傳組件或者ASP類)、站長的錯誤設置(允許上傳asp或者shtml等類型的文件),或者其它存在的上傳漏洞,都可能存在被攻擊者上傳后門的可能性。一旦上傳了漏洞,攻擊者就獲得了站長的權限,甚至超過站長的權限(對整個服務器構成安全威脅)。