?? 80端口web服務(wù)攻擊痕跡.txt
字號(hào):
發(fā)信人: Car (承受), 信區(qū): Hacker
標(biāo) 題: 80端口web服務(wù)攻擊痕跡
發(fā)信站: 哈工大紫丁香 (2001年12月30日21:48:07 星期天), 站內(nèi)信件
web站點(diǎn)默認(rèn)80為服務(wù)端口,關(guān)于它的各種安全問(wèn)題不斷的發(fā)布出來(lái),這些漏洞中一些甚
至允許攻擊者獲得系統(tǒng)管理員的權(quán)限進(jìn)入站點(diǎn)內(nèi)部,以下是Zenomorph對(duì)一些80端口攻擊
方式的痕跡的研究,和告訴你怎樣從日志記錄中發(fā)現(xiàn)問(wèn)題。
[詳細(xì)描述]
下面部分通過(guò)一些列子,展示對(duì)web服務(wù)器和其上的應(yīng)用程序普遍的攻擊,和其留下的痕
跡,這些列子僅僅是代表了主要的攻擊方式,并沒(méi)有列出所有的攻擊形式,這部分將詳
細(xì)描述每種攻擊的作用,和其怎樣利用這些漏洞進(jìn)行攻擊。
(1)"." ".." 和 "..." 請(qǐng)求
這些攻擊痕跡是非常普遍的用于web應(yīng)用程序和web服務(wù)器,它用于允許攻擊者或者蠕蟲(chóng)
病毒程序改變web服務(wù)器的路徑,獲得訪問(wèn)非公開(kāi)的區(qū)域。大多數(shù)的CGI程序漏洞含有這
些".."請(qǐng)求。
Example:
http://host/cgi-bin/lame.cgi?file=../../../../etc/motd
這個(gè)列子展示了攻擊者請(qǐng)求mosd這個(gè)文件,如果攻擊者有能力突破web服務(wù)器根目錄,那
么可以獲得更多的信息,并進(jìn)一步的獲得特權(quán)。
(2)"%20" 請(qǐng)求
%20是表示空格的16進(jìn)制數(shù)值,雖然這個(gè)并不代表你能夠利用什么,但是在你瀏覽日志的
時(shí)候會(huì)發(fā)現(xiàn)它,一些web服務(wù)器上運(yùn)行的應(yīng)用程序中這個(gè)字符可能會(huì)被有效的執(zhí)行,所以
,你應(yīng)該仔細(xì)的查看日志。另一方面,這個(gè)請(qǐng)求有時(shí)可以幫助執(zhí)行一些命令。
Example:
http://host/cgi-bin/lame.cgi?page=ls%20-al|
這個(gè)列子展示了攻擊者執(zhí)行了一個(gè)unix的命令,列出請(qǐng)求的整個(gè)目錄的文件,導(dǎo)致攻擊
者訪問(wèn)你系統(tǒng)中重要的文件,幫助他進(jìn)一步取得特權(quán)提供條件。
(3)"%00" 請(qǐng)求
%00表示16進(jìn)制的空字節(jié),他能夠用于愚弄web應(yīng)用程序,并請(qǐng)求不同類型的文件。
Examples:
http://host/cgi-bin/lame.cgi?page=index.html
這可能是個(gè)有效的請(qǐng)求在這個(gè)機(jī)子上,如果攻擊者注意到這個(gè)請(qǐng)求動(dòng)作成功,他會(huì)進(jìn)一
步尋找這個(gè)cgi程序的問(wèn)題。
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd
也許這個(gè)cgi程序不接受這個(gè)請(qǐng)求,原因在于它要檢查這個(gè)請(qǐng)求文件的后綴名,如:htm
l.shtml或者其他類型的文件。大多數(shù)的程序會(huì)告訴你所請(qǐng)求的文件類型無(wú)效,這個(gè)時(shí)候
它會(huì)告訴攻擊者請(qǐng)求的文件必須是一某個(gè)字符后綴的文件類型,這樣,攻擊者可以獲得
系統(tǒng)的路徑,文件名,導(dǎo)致在你的系統(tǒng)獲得更多的敏感信息
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd%00html
注意這個(gè)請(qǐng)求,它將騙取cgi程序認(rèn)為這個(gè)文件是個(gè)確定的可接受的文件類型,一些應(yīng)用
程序由于愚蠢的檢查有效的請(qǐng)求文件,這是攻擊者常用的方法。
(4)"|" 請(qǐng)求
這是個(gè)管道字符,在unix系統(tǒng)用于幫助在一個(gè)請(qǐng)求中同時(shí)執(zhí)行多個(gè)系統(tǒng)命令。
Example:
# cat access_log| grep -i ".."
(這個(gè)命令將顯示日志中的“..“請(qǐng)求,常用于發(fā)現(xiàn)攻擊者和蠕蟲(chóng)攻擊)
常可以看到有很多web應(yīng)用程序用這個(gè)字符,這也導(dǎo)致IDS日志中錯(cuò)誤的報(bào)警。
在你的程序仔細(xì)的檢查中,這樣是有好處的,可以降低錯(cuò)誤的警報(bào)在入侵檢測(cè)系統(tǒng)中。
下面給出一些列子:
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls|
這個(gè)請(qǐng)求命令執(zhí)行,下面是一些變化的列子
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%20-al%20/etc|
這個(gè)請(qǐng)求在unix系統(tǒng)中列出/etc目錄的所有文件
http://host/cgi-bin/lame.cgi?page=cat%20access_log|grep%20-i%20"lame"
這個(gè)請(qǐng)求cat命令的執(zhí)行并且grep命令也將執(zhí)行,查詢出”lame"
(5)";" 請(qǐng)求
在unix系統(tǒng),這個(gè)字符允許多個(gè)命令在一行執(zhí)行
Example:
# id;uname -a
(執(zhí)行id命令后,緊跟著執(zhí)行uname命令)
一些web程序用這個(gè)字符,可能導(dǎo)致在你的IDS日志中失敗的警告,你應(yīng)該仔細(xì)的檢查你
的web程序,讓你的IDS警報(bào)失敗的幾率降低。
(6)"<" 和 ">" 請(qǐng)求
應(yīng)該檢查你的日志記錄中這兩個(gè)字符,眾多的原因中,首要的一個(gè)是這個(gè)字符表明了添
加數(shù)據(jù)在文件中
Example 1:
# echo "your hax0red h0 h0" >> /etc/motd (請(qǐng)求寫信息在motd這個(gè)文件中)
一個(gè)攻擊者可以容易的用象上面的這個(gè)請(qǐng)求篡改你的web頁(yè)面。比如著名的RDS exploit
常被攻擊者用于更改web主頁(yè)面。
Example 2:
http://host/something.php=<b>Hi%20mom%20Im%20Bold!</b>
你會(huì)注意到這里html語(yǔ)言的標(biāo)志,他同樣用了“〈”,“〉”字符,這種攻擊不能導(dǎo)致
攻擊者對(duì)系統(tǒng)進(jìn)行訪問(wèn),它迷惑人們認(rèn)為這是個(gè)合法的信息在web站點(diǎn)中(導(dǎo)致人們?cè)谠L
問(wèn)這個(gè)聯(lián)結(jié)的時(shí)候訪問(wèn)到攻擊者設(shè)定的地址,這種請(qǐng)求可能會(huì)被轉(zhuǎn)變成16進(jìn)制的編碼字
符形式,使攻擊的痕跡不那么明顯)
(7)"!"請(qǐng)求
這種字符請(qǐng)求常用語(yǔ)對(duì)SS(Server Side Include) I進(jìn)行攻擊,如果攻擊者迷惑用戶點(diǎn)擊
被攻擊者設(shè)定的聯(lián)結(jié),和上面的一樣。
Example:
http://host1/something.php=<!%20--#include%20virtual="http://host2/fake-arti
cle.html"-->
這個(gè)列子是攻擊者可能會(huì)做的,它讓一個(gè)host2站點(diǎn)上的文件看起來(lái)是來(lái)自于 host1上面
的(當(dāng)然,需要訪問(wèn)者訪問(wèn)這個(gè)被攻擊者設(shè)定的聯(lián)結(jié)。這種請(qǐng)求可能被轉(zhuǎn)化成16進(jìn)制的
編碼偽裝,不易發(fā)現(xiàn))
同時(shí),這種方式也可以以web站點(diǎn)的權(quán)限執(zhí)行命令
Example:
http://host/something.php=<!%20#<!--#exec%20cmd="id"-->
這個(gè)列子在遠(yuǎn)程的系統(tǒng)上執(zhí)行“id"的命令,它將顯示這個(gè)web站點(diǎn)用戶的id,通常是”
nobody"或者“www"
這種形式也允許包含隱藏文件。
Example:
http://host/something.php=<!%20--#include%20virtual=".htpasswd"-->
這個(gè)隱藏文件.htpasswd不會(huì)被顯示出來(lái),Apache建立的規(guī)則會(huì)拒絕這種以.ht 形式的請(qǐng)
求,而SSI標(biāo)志會(huì)繞過(guò)這種限制,并導(dǎo)致安全問(wèn)題
(8)"<?" 請(qǐng)求
這種攻擊用于試圖在遠(yuǎn)程的web應(yīng)用程序中插入PHP程序,它可能允許執(zhí)行命令,這取決
于服務(wù)器的設(shè)置,和其他起作用的一些因素(比如php設(shè)置為安全模式)
Example: http://host/something.php=<? passthru("id");?>
在某些簡(jiǎn)單的php應(yīng)用程序中,它可能會(huì)在遠(yuǎn)程系統(tǒng)上以web站點(diǎn)用戶的權(quán)限執(zhí)行本地命
令
(9)"`" 請(qǐng)求
這種字符后面常用在perl中執(zhí)行命令,這個(gè)字符在web應(yīng)用程序中不是經(jīng)常的使用,所以
,如果看到它在你的日志中,應(yīng)該非常小心
Example:
http://host/something.cgi=`id`
一個(gè)perl寫的有問(wèn)題的cgi程序,會(huì)導(dǎo)致執(zhí)行id命令
[更進(jìn)一步]
下面部分將討論更多的攻擊者可能執(zhí)行的命令,連同被請(qǐng)求的文件,以及如果你有遠(yuǎn)程
執(zhí)行命令的缺陷,應(yīng)該怎樣檢查發(fā)現(xiàn)它。這部分只是給你個(gè)好的思路,并告訴你的系統(tǒng)
發(fā)生了什么,攻擊者嘗試攻擊你的系統(tǒng)的痕跡,但并不能列舉所有的攻擊者使用的命令
和請(qǐng)求的方式。
"/bin/ls"
這個(gè)命令請(qǐng)求整個(gè)路徑,在很多的web應(yīng)用程序中都有這個(gè)漏洞,如果你在日志中很多地
方都看到這種請(qǐng)求,很大的可能性是存在遠(yuǎn)程執(zhí)行命令漏洞,但并不一定是個(gè)問(wèn)題,也
可能是個(gè)錯(cuò)誤的警報(bào)。再一次提醒,寫好的web應(yīng)用程序(cgi,asp,php...etc)是安全的
基礎(chǔ)
Example:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls%20-al|
http://host/cgi-bin/bad.cgi?doh=ls%20-al;
"cmd.exe"
這是一個(gè)windows的shell,一個(gè)攻擊者如果訪問(wèn)并運(yùn)行這個(gè)腳本,在服務(wù)器設(shè)置允許的條
件下可以在windows機(jī)器上做任何事情,很多的蠕蟲(chóng)病毒就是通過(guò)80端口,傳播到遠(yuǎn)程的
機(jī)器上
http://host/scripts/something.asp=../../WINNT/sys tem32/cmd.exe?dir+e:
"/bin/id"
這是個(gè)2進(jìn)制的文件,它的問(wèn)題和/bin/ls一樣,如果你在日志中很多地方都看到這種請(qǐng)
求,很大的可能性是存在遠(yuǎn)程執(zhí)行命令漏洞,但并不一定是個(gè)問(wèn)題,也可能是個(gè)錯(cuò)誤的
警報(bào)。
它將顯示屬于哪個(gè)用戶和屬于哪個(gè)組
Example:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/id|
http://host/cgi-bin/bad.cgi?doh=id;
"/bin/rm"
這個(gè)命令可以刪除文件,如果不正確的使用是非常危險(xiǎn)的
Examples:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm%20-rf%20*|
http://host/cgi-bin/bad.cgi?doh=rm%20-rf%20*;
"wget and tftp" 命令
這些命令常被攻擊者用來(lái)下載可能進(jìn)一步獲得特權(quán)的文件,wget是unix下的命令,可能
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -