公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

解決ASP圖像上傳漏洞

admin
2010年7月3日 13:26 本文熱度 7120

常聽說的asp上傳漏洞,即是將一些木馬文件修改后綴名(修改為圖像文件后綴),進(jìn)行上傳。

針對此情況使用下列函數(shù)進(jìn)行辨別:

'******************************************************************

'checkfiletype 函數(shù)用來檢查文件是否為圖片文件

'參數(shù)filename是本地文件的路徑

'如果是文件jpeg,gif,bmp,png圖片中的一種,函數(shù)返回true,否則返回false

'******************************************************************

const adtypebinary=1


dim jpg(1):jpg(0)=cbyte(&hff):jpg(1)=cbyte(&hd8)

dim bmp(1):bmp(0)=cbyte(&h42):bmp(1)=cbyte(&h4d)

dim png(3):png(0)=cbyte(&h89):png(1)=cbyte(&h50):png(2)=cbyte(&h4e):png(3)=cbyte(&h47)

dim gif(5):gif(0)=cbyte(&h47):gif(1)=cbyte(&h49):gif(2)=cbyte(&h46):gif(3)=cbyte(&h39):gif(4)=cbyte(&h38):gif(5)=cbyte(&h61)


function checkfiletype(filename)

on error resume next

checkfiletype=false

dim fstream,fileext,stamp,i

fileext=mid(filename,instrrev(filename,".")+1)

set fstream=server.createobject("adodb.stream")

fstream.open

fstream.type=adtypebinary

fstream.loadfromfile filename

fstream.position=0

select case fileext

case "jpg","jpeg"

stamp=fstream.read(2)

for i=0 to 1

if ascb(midb(stamp,i+1,1))=jpg(i) then checkfiletype=true else checkfiletype=false

next

case "gif"

stamp=fstream.read(6)

for i=0 to 5

if ascb(midb(stamp,i+1,1))=gif(i) then checkfiletype=true else checkfiletype=false

next

case "png"

stamp=fstream.read(4)

for i=0 to 3

if ascb(midb(stamp,i+1,1))=png(i) then checkfiletype=true else checkfiletype=false

next

case "bmp"

stamp=fstream.read(2)

for i=0 to 1

if ascb(midb(stamp,i+1,1))=bmp(i) then checkfiletype=true else checkfiletype=false

next

end select

fstream.close

set fseteam=nothing

if err.number<>0 then checkfiletype=false

end function

那么在應(yīng)用的時(shí)候

checkfiletype(server.mappath("cnbruce.jpg"))

或者

checkfiletype("f:/web/164/images/cnbruce.jpg"))

反正即是檢測驗(yàn)證本地物理地址的圖像文件類型,返回 true 或 false值


所以這個(gè)情況應(yīng)用在圖像上傳中,目前的辦法是先允許該“偽圖像”文件的上傳,接著使用以上的自定義函數(shù)判斷該文件是否符合圖像的規(guī)范,若是木馬偽裝的圖像文件則fso刪除之,比如:

file.saveas server.mappath(filename) '保存文件

if not checkfiletype(server.mappath(filename)) then

response.write "錯(cuò)誤的圖像格式"

set fso = createobject("scripting.filesystemobject")

set ficn = fso.getfile(server.mappath(filename))

ficn.delete

set ficn=nothing

set fso=nothing

response.end

end if

則是先將文件上傳,接著立馬使用自定義函數(shù)判斷文件圖像類型的吻合性,fso做出刪除該文件的操作。


asp上傳漏洞還利用"\0"對filepath進(jìn)行手腳操作

針對這樣的情況可使用如下函數(shù):

function truestr(filetrue)

str_len=len(filetrue)

pos=instr(filetrue,chr(0))

if pos=0 or pos=str_len then

truestr=true

else

truestr=false

end if

end function

接著就可判斷后再做文件的上傳

if truestr(filename)=false then

response.write "非法文件"

response.end

end if

file.saveas server.mappath(filename)


該文章在 2024/10/30 9:04:13 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产一区二区免费播放 | 91人妻无码精品一区二区三区 | 国产精品日本 | 国产性爱在线播放 | 91精品影视 | av免费在线播放网址 | 99久久国产综合精品1尤物 | 国产高清免费一级视频播放在线观看 | 2025年国内精品视频 | 国产精品一区二区黑人巨 | 国产精品毛片一区二区三区 | 91麻豆免费免费国产观看 | 国产成人精品自产拍在线观看 | 国产成a人亚洲精v品无码性色 | 国产成人综合亚洲欧美在线 | 91麻豆精品国 | 国产精品高清国产三级国产 | 国产制服丝袜无码视频 | 国产女主播喷水视频 | 国产在线高清伦免费理视频 | 成人区人妻精 | 18禁无遮挡无码网站免费 | 国产一区二区三区高清在线看 | 国产美女跪下吃大j8视频 | 国产午夜福利在线观看 | 国产在线视频玛雅视频 | 国产精品啪啪一区二区三区 | 国产精品白浆大屁股一区二区三 | 加勒比东京热久久久 | 国产成人aa片在线观看 | 国产一区二区在线观看麻豆 | 国产精品无码一区二区在线 | 国产黄色网址在线观看 | 国语对白一区二区三区 | 91大神亚洲影视在线 | 精品无码在线播放国产 | 91高清免费国产自产拍不卡 | 2025无码最新国产在线观看 | 高清不卡一区二区三区 | 国产精品偷伦视频观看免费 | 国产成人综合色视频精品 |