|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來(lái)的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 近來(lái),網(wǎng)絡(luò)上的SQL Injection 漏洞利用攻擊,JS腳本,HTML腳本攻擊似乎逾演逾烈。陸續(xù)的很多站點(diǎn)都被此類攻擊所困擾,并非像主機(jī)漏洞那樣可以當(dāng)即修復(fù),來(lái)自于WEB的攻擊方式使我們?cè)诜婪痘蛘呤切迯?fù)上都帶來(lái)了很大的不便。HOOO…… 一個(gè)站長(zhǎng)最大的痛苦莫過于此。自己的密碼如何如何強(qiáng)壯卻始終被攻擊者得到,但如何才能做到真正意義上的安全呢?第一,別把密碼和你的生活聯(lián)系起來(lái);第二,Supermaster的PWD最好只有你自己知道;第三,絕對(duì)要完善好你的網(wǎng)站程序。然而怎樣才能完善,這將是我們此文的最終目的。 安全防護(hù),如何做到安全防護(hù)?想要防護(hù)就要知道對(duì)方是如何進(jìn)行攻擊。有很多文章都在寫如何攻下某站點(diǎn),其實(shí)其攻擊的途徑也不過是以下幾種: 1. 簡(jiǎn)單的腳本攻擊 此類攻擊應(yīng)該屬于無(wú)聊搗亂吧。比如****:alert(); </table>等等,由于程序上過濾的不嚴(yán)密,使攻擊者既得不到什么可用的,但又使的他可以進(jìn)行搗亂的目的。以目前很多站點(diǎn)的免費(fèi)服務(wù),或者是自身站點(diǎn)的程序上也是有過濾不嚴(yán)密的問題。 2. 危險(xiǎn)的腳本攻擊 這類腳本攻擊已經(jīng)過度到可以竊取管理員或者是其他用戶信息的程度上了。比如大家都知道的cookies竊取,利用腳本對(duì)客戶端進(jìn)行本地的寫操作等等。 3. Sql Injection 漏洞攻擊 可以說,這個(gè)攻擊方式是從動(dòng)網(wǎng)論壇和BBSXP開始的。利用SQL特殊字符過濾的不嚴(yán)密,而對(duì)數(shù)據(jù)庫(kù)進(jìn)行跨表查詢的攻擊。比如: http://127.0.0.1/forum/showuser.asp?id=999 and 1=1 http://127.0.0.1/forum/showuser.asp?id=999 and 1=2 http://127.0.0.1/forum/showuser.asp?id=999 and 0<>(select count(*) from admin) http://127.0.0.1/forum/showuser.asp?id=999’; declare @a sysname set @a='xp_'+ 'cmdshell' exec @a 'dir c:\'---&aid=9 得到了管理員的密碼也就意味著已經(jīng)控制的整站,雖然不一定能得到主機(jī)的權(quán)限,但也為這一步做了很大的鋪墊。類似的SQL Injection攻擊的方式方法很多,對(duì)不同的文件過濾不嚴(yán)密所采取的查詢方式也不同。所以說想做好一個(gè)完整的字符過濾程序不下一凡功夫是不可能的。 4. 遠(yuǎn)程注入攻擊 某站點(diǎn)的所謂的過濾只是在提交表格頁(yè)上進(jìn)行簡(jiǎn)單的JS過濾。對(duì)于一般的用戶來(lái)說,你大可不必防范;對(duì)早有預(yù)謀的攻擊者來(lái)說,這樣的過濾似乎根本沒作用。我們常說的POST攻擊就是其中一例。通過遠(yuǎn)程提交非法的信息以達(dá)到攻擊目的。 通過上面的攻擊方法的介紹,我們大致的了解了攻擊者的攻擊途徑,下面我們就開始重點(diǎn)的介紹,如何有效的防范腳本攻擊! 讓我們還是從最簡(jiǎn)單的開始: l 防范腳本攻擊 JS腳本 和HTML腳本攻擊的防范其實(shí)很簡(jiǎn)單:server.HTMLEncode(Str)完事。當(dāng)然你還不要大叫,怎么可能?你讓我把全站類似<%=uid%>都加過濾我還不累死?為了方便的過濾,我們只需要將HTML腳本和JS腳本中的幾個(gè)關(guān)鍵字符過濾掉就可以了:程序體(1)如下: ‘以下是過濾函數(shù) 。% function CHK(fqyString) fqyString = replace(fqyString, ">", ">") fqyString = replace(fqyString, "<", "<") fqyString = replace(fqyString, "&#", "&") fqyString = Replace(fqyString, CHR(32), " ") fqyString = Replace(fqyString, CHR(9), " ") fqyString = Replace(fqyString, CHR(34), """) fqyString = Replace(fqyString, CHR(39), "'") fqyString = Replace(fqyString, CHR(13), "") fqyString = Replace(fqyString, CHR(10) & CHR(10), "</P><P> ") fqyString = Replace(fqyString, CHR(10), "<BR> ") CHK = fqyString end function %> ‘以下是應(yīng)用實(shí)例 。%=CHK(Username)%> Username=CHK(replace(request(“username”),”’”,””)) 使用Include把函數(shù)寫在公有頁(yè)面上,這樣效率是最好的。 網(wǎng)絡(luò)的神奇作用吸引著越來(lái)越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來(lái)越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!