当前位置: 首页 > 图文教程 > 网络安全 > 杀毒防毒 > MiniBlog 3.0 漏洞

杀毒防毒
U盘(auto病毒)类病毒分析与解决方案
解析魔兽木马Trojan-PSW.Win32.WOW
绕过主动防御 木马病毒刺穿卡巴斯基
总结经典:木马十大藏身地点大搜查
手动清除 chcp.exe病毒 保护 MSN的安全
卡巴斯基KIS 7.0防火墙设置完全攻略
百毒不侵 如何以不变应万变预防病毒
病毒日新月异 六大反病毒技术亟待成熟
守住你的网站 防御DDoS攻击实用指南
提高诺顿杀毒软件速度的五则技巧
安全升级 新版迅雷杀毒方案之详解
病毒非电脑的专利 常见手机病毒分析
卡巴斯基8.0主要特性介绍(附激活码)
几大常见的手机杀毒软件试用横评
三种2008版杀毒软件七大主流功能横评
检测硬盘与内存中病毒痕迹的四种绝招
优化XP使卡巴斯基7.0单机版运行流畅
上网不再怕中毒 教你一招克死所有病毒
“色情终结者”病毒专删PC内色情电影
精心设置卡巴斯基 加快杀毒速度

杀毒防毒 中的 MiniBlog 3.0 漏洞


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 32 ::
收藏到网摘: n/a

  一. 经典的上传漏洞
  漏洞存在与upfile.asp
  <!--#include file="include/conn.asp" -->
  <!--#include file="include/const.asp" -->
  <!--#include FILE="include/cb_upload.asp"-->
  <%
  dim filebleid,upload,formPath,formName,file,fileExt,filename,userface
  filebleid=Caluoob.UserID
  set upload=new upload_5xSoft ''建立上传对象
  formPath=upload.form("filepath")
  ''在目录后加(/)
  if right(formPath,1)<>"/" then formPath=formPath&"/"
  for each formName in upload.file ''列出所有上传了的文件
  set file=upload.file(formName) ''生成一个文件对象
  if file.filesize<100 then
  response.write "<font size=2>请先选择你要上传的图片 [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
  response.end
  end if
  if file.filesize>51200then
  response.write "<font size=2>图片大小超过了限制 [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
  response.end
  end if
  fileExt=lcase(right(file.filename,4))
  if fileEXT<>".gif" and fileEXT<>".jpg" then
  response.write "<font size=2>文件格式不对 [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
  response.end
  end if
  filename="face/"&filebleid&fileExt
  userface=filebleid&fileExt
  if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据
  file.SaveAs Server.mappath(filename)   ''保存文件
  end if
  Caluoob.Execute("update [cb_user] set userface='"&userface&"' where id="&filebleid)
  set file=nothing
  next
  set upload=nothing
  Response.redirect "settings.asp"
  %>
  漏洞核心代码是
  if fileEXT<>".gif" and fileEXT<>".jpg" then
  response.write "<font size=2>文件格式不对 [ <a href=# onclick=history.go(-1)>重新上传</a> ]</font>"
  response.end
  这里我问了几个人 我是认为 提交1.jpg.asa是可行的 但是 if fileEXT<>".gif" and fileEXT<>".jpg" 这句话很绝 直接kill了任何非gif和jpg的后缀 就连上传 .jpg+空格 也不行
  这里就可以通过nc来上传了 哈~   没错 就是截断~ 只要文件不超过51200kb就满足条件 我想没有什么马儿是超过51200kb的把~这里的目录可以自定义 所以又可以不截断得提交一个文件并新建一文件夹(这里大家都想到2003解析漏洞了把) 对 就是建立1.asp文件夹 随便上传一个马儿到里面 2003都会把他当成asp解析的
  二。经典的注入
  这系统多么精彩 啥注入都有、、 、post get cookies都有。。。
  1.过滤不严:
  过滤方面 程序员还是想到了 但是不完整 造成我们可以构造语句去突破 哈哈。
  以下是do.asp代码
  <%
  Dim id,myrs,model,myfreinds
  model=Replace(Request.QueryString("m"),"'","''")
  id=Replace(ValidInteger(Request("in")),"'","''")
  看到model变量如何过来的把 。。 简单用个replace函数把'过滤了 但是。。。我们还可以提交 ; 嘛
  还有在admin_reing.asp里面:
  Dim Action,model,rs,ingid
  Action=Request("action")
  model=CheckStr(Request("model"))
  ingid=CheckStr(Request("ingid"))
  action变量直接提交到服务端 危险。。
  这里的model变量不一样了 不是之前那个do.asp的用get提交了 可是今次多了一个函数Checkstr过滤他们。。 俺们先不要绝望 我们去function.asp看看这个函数怎么写的:
  '------------------------------------
  Function CheckStr(ChkStr)
  Dim Str:Str=ChkStr
  If IsNull(Str) Then
  CheckStr = ""
  Exit Function
  End If
  Str = Replace(Str, "&", "&")
  Str = Replace(Str,"'","'")
  Str = Replace(Str,"""",""")
  CheckStr=Str
  End Function
  '------------------------------------
  过滤也不严 绕过之,。。  又一注入
  三。经典的cookies注入。 我们看看: (CB_admin.asp里面)
  AdminName=Request.cookies(CookieName&"CaluoobAdmin")("AdminName")
  AdminWord=Request.cookies(CookieName&"CaluoobAdmin")("AdminWord")