黑小子在土司公布了“PageAdmin cms getshell Oday”,并给出了一个漏
洞的利用EXP。经过危险漫步在虚拟机里测试,存在漏洞的是PageAdmin Cms的次最薪版本PageAdmm CmsV2.0,最新版本pageadmin v2.1 20110927不存在这个漏洞了。利用漏洞可以直接获得shell,危害还是很大的。
一、漏洞简介
PageAdmin Cms是集成内容发布、文章、产品、图片、招聘、留言、自定义模型、采集等功能于一体的企业级网站管理系统。
漏洞公布者黑小子已经给出了漏洞分析,这里直接引用:
这个程序有个fckeditor,悲剧就在这里了。不过程序它在upload.aspx里面倒是验证了权限。任意上传<%@ Page language=”c#”Trace=”false”Inherits=”FredCK.FCKeditorV2.Uploader”AutoEventWireup=”false”StylesheetTheme=…’%>但是在connector.aspx这个里面就是一段
<% @Page language=”c#”Trace=”false”Inherits=“FredCK.FCKeditorV2.FileBrowserConnectorfl
AutoEventWireup=”false”StylesheetTheme=…’%>我不会.net所以完全不知道他这个代码是什么意思但是经过测试这个代码一点用处都没有!可以任意文件上传,../../任意跨目录!上传可以本地构造test.html。
我个人的理解就是PageAdmin Cms v2.0用到的FCKeditor存在任意文件上传漏洞,苛且可以自定义上传文件的目录。
二、漏洞利用
为了测试漏洞,我下载了存在漏洞的PageAdminCms V2.0的源代码,在虚拟机里的Windows系统中把PageAdmin Cms V2.O安装了起来。网站在虚拟机里的访问地址。
下面来看漏洞利用方法。PageAdmin Cms V2.0中FCKeditor默认在管理目录master下,虚拟机中connector.aspx的URL。
1、利用test.html上传获得shell
由于FCKeditor存在任意文件上传漏洞,所以可以通过test.html直接上传shell,但程序中的test.html被删除了。删除了不要紧,我从别的没被删除test.html的FCKeditor中复制了一个test.html出来,稍微修改下就可以利用。用记事本打开test.html,搜索connector. aspx,找到后补齐connector.aspx的完整URl。保存对test.html的修改,然后用浏览器打开test.html,会有安全提示,选择“允许阻止的内容”。
“Connector:”选择ASP.Net, “Current Folder”和“Resource Type”都保持默认,通过“浏览”按钮选择要上传的shell,这里我选择了ASPXspy2,点“Upload”后下面显示空白页,好像上传成功了,点“Get Folders and Files”,看到了文件上传上去的名字,在/upload/FCKeditor/File/目录下,访问却提示“无法找到资源”,打开upload\fckeditor目录下,根本没有File子目录,而是有一个目录,也就是当前的年加月份,中间用一连接,打开文件夹,里面有一个文件夹File,打开File文件夹一个.aspx文件躺在那里了。原来shell的地址中FCKeditor和File之间要加一个当前年月的文件夹,访问URL之后找到.aspx文件,就获得了shell。
2、利用EXP获得shell
黑小子给出了一个用PHP写的漏洞利用EXP,可以直接获得shell。EXP的代码就不贴出来了,有想要的朋友们可以来联系我。
把代码保存为文件pacmsexp.php,放到了虚拟机系统中的C盘根目录下。由于EXP是用PHP写的,需要你安装PHP后才能使用,危险漫步的虚拟机的Windoes 系统中已经安装了PHP v5.3。打开命令提示符,切换到C盘根目录下。输入php pacmsexpplip回车后就可以看到EXP的用法了(PHP的安装目录已经被我加进了环境变量path中,所以不用输入php.exe所在的路径)。
EXP的利用格式为:
php pacmsexp.php site path
其中site就是存在漏洞的网站的域名或IP地址,path是PageAdmin Cms V2.0所在的目录。输入php pacmsexp.php 127.0.0.1,回车,会看到一个光标在闪,提示“Exploit Success”,并且已经给出了shell的地址是aspx-‘句话木马,密码为90sec.org,用工具连接也获得了shell。
PageAdmin Cms v2.0 getshell Oday以及利用漏洞两种拿shell的方法介绍完了。通过搜索“PoweredbyPageAdlnin V2.0”等能找到可能存在这个漏洞的网站。