Serv-U是一款很出色的FTP服務(wù)器軟件,在網(wǎng)上有很廣的應(yīng)用,設(shè)置簡單,小巧玲瓏,很受用戶喜愛,
如何捕捉ServU漏洞
。但是在2000年12月3日,由Zoa_Chien (zoachien securax.org)發(fā)現(xiàn)了Serv-U一個重大漏洞,這個漏洞使你的硬盤暴露在網(wǎng)絡(luò)上。這個漏洞在2.5i以前版本中全部存在。下面,就讓我們來看看這個漏洞的真面目。
首先我們使用匿名進(jìn)入一個使用Seru-U的2.5i以前版本FTP站點(diǎn):
ftp>pwd
257 "/c:/ftproot" is current directory.
ftp>cd ..
550 /c:/: Permission denied.
哦,沒有權(quán)限進(jìn)入上一級目錄。
ftp> ls ..
200 PORT Command successful.
550 Permission denied.
也沒有權(quán)限查看上一級目錄。讓我們換個方式:
ftp> ls ..%20./* (必須加上“/*”)
看看發(fā)生什么了?上一級目錄(C:\)的東西盡收眼底了!
ftp> cd ..%20.
ftp> pwd
257 "/c:/ftproot/.." is current directory.
當(dāng)前目錄變成了“c:\ftproot\..”,這不就是根目錄嗎?
來看看剛才敲了兩個什么命令:“l(fā)s ..%20./*”和“cd ..%20./”。原來如此:“..%20.”在這里相當(dāng)于“..”;而且,在Serv-U分析這個目錄的時候,把“..”當(dāng)作當(dāng)前目錄下的子目錄,而不是直接進(jìn)入上一級目錄,
電腦資料
《如何捕捉ServU漏洞》(http://m.stanzs.com)。所以C盤根目錄,也就是“c:\ftproot\..”被當(dāng)作“ftproot”里面的子目錄來操作。如果在Serv-U的設(shè)置里面,“c:\ftproot”被當(dāng)作用戶的主目錄,用戶可以對它和其子目錄進(jìn)行讀和寫的操作,而本來用戶被禁止操作的其他目錄,就可以通過這種方式當(dāng)作當(dāng)前目錄的子目錄而繼承其屬性,用戶也可以對它讀和寫了。假如當(dāng)前在“\c:\ftproot\incoming\”目錄,那么就可以用“..%20./ ..%20./windows”來表示“\c:\ftproot\test\..\..\windows”,即“c:\windows”目錄,如果“incoming”目錄對用戶完全開放,可以進(jìn)行讀、寫、刪除、列表、建目錄,那么用戶也就可以對“c:\windows”目錄進(jìn)行一些可怕的操作了。那好,再讓我們進(jìn)入有寫和刪除權(quán)限的“incoming”目錄看看:
我們在這里使用兩個命令:“put 1.txt ..%20./..%20./windows/”和“put 1.txt ..%20./..%20./windows/2.txt”。我們可以發(fā)現(xiàn),前者不能運(yùn)行,但后者卻可以,“dele”命令也成功了。
實(shí)驗(yàn)證明“%20..%20%20..”、“..%20%20..”、“%20..%20.”都等效于“..”。
如果Serv-U的管理員不清楚這個可怕的漏洞,將用戶的主目錄與系統(tǒng)放在同一個分區(qū),那么 利用此漏洞便能抓取到系統(tǒng)的所有密碼,如果用戶的主目錄與Serv-U的配置文件serv-u.ini在同一分區(qū),那么 可以抓取serv-u.ini里的用戶密碼,如果某個用戶擁有寫和運(yùn)行權(quán)限,那么 就可以放一個特洛依木馬,并運(yùn)行它,然后……
即使 拿不到serv-u.ini,也可以利用一個有寫權(quán)限的目錄,在這個分區(qū)的根目錄里放上特洛依木馬,再放一個運(yùn)行木馬的autorun.inf,當(dāng)管理員打開“我的電腦”時,木馬就可以自動運(yùn)行了。