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