奥运倒计时: 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 会员咨询 技术问答 论坛社区
文章 下载 图片
文章  
 您现在的位置: 太平洋安全网 >> 新闻 >> 漏洞公告 >> 正文

F2blog XMLRPC 上传任意文件漏洞

作者:未知    新闻来源:互联网    点击数:    更新时间:2008-5-29
By:Maple-x[B.C.T]
SITe:http://www.neeao.com
Date:2008-5-27

刚从官方下载的最新版:F2blog-v1.2_build_03.01_full

存在漏洞文件:xmlrpc.php,
影响:可上传任意文件到服务器。
原理:get_http_raw_post_data()是获取最原始的传递过来的数据,也是说不会因为PHP环境的magic为on的影响。
而他在check_user_pw的时候,并没有过滤,结合后面的上传没有做后缀判断,所有可以直接导致上传任意文件到服务器。

简单分析:
function metaWeblog_newMediaObject ($values) { //2007-02-01 add support for uploading files
  global $settingInfo,$DMC, $DBPrefix,$defualtcategoryid;
 //此处本是判断用户是否登录的,但是下面没有做检查,仅仅在这里返回了用户是否登录的一个值。
  $userdetail = check_user_pw ($values['username'], $values['password']);

  $struct=$values['struct'];
  //writetofile ('text1.php', $struct['bITs']); //debug only
  if ($struct['bITs'] && $struct['name']) {
    $writefilecontent=base64_decode($struct['bITs']);
    if (file_exists("attachments/{$struct['name']}")) @unlink("attachments/{$struct['name']}");
    
    $filenum=@fopen("attachments/{$struct['name']}","wb");
    if (!$filenum) {
      xml_error ("Sorry, uploading file ({$struct['name']}) failed.");
    }
    flock($filenum,LOCK_EX);
    fwrite($filenum,$wrITefilecontent);
 //并没有判断文件是否安全,直接写入。
    fclose($filenum);
  }
  $xml_content=make_xml_piece ("struct", array('url'=>"{$settingInfo['blogurl']}/attachments/{$struct['name']}"));
  $body_xml=xml_generate($xml_content);
  send_response ($body_xml);
}
本来说到这里都够明白了,下面就再把利用方法写下吧:
定义的方法数组:
$methodFamily=array('blogger.newPost', 'blogger.editPost', 'blogger.getUsersBlogs', 'blogger.getUserInfo', 'blogger.deletePost',   'blogger.getTemplate',   'blogger.setTemplate',   'metaWeblog.newPost', 'metaWeblog.edITPost', 'metaWeblog.getPost', 'metaWeblog.newMediaObject', 'metaWeblog.getCategories', 'metaWeblog.getRecentPosts');
方法调用:
$methodName=parse_get($rawdata, 'methodName', true);
if (!@in_array($methodName, $methodFamily)) xml_error ("Method ({$methodName}) is not availble.");
$values=parse_get($rawdata, 'value');

$values=parse_walk_array($values, $methodName);
//print_r($values); //For debug only
//exIT();
//Get default category, for those edITors which don't support Categories
$sql="select * from ".$DBPrefix."categories limIT 0,1";
$arr_category=$DMC->fetchArray($DMC->query($sql));
$defualtcategoryid=$arr_category[id];

$methodName=str_replace('.', '_', $met

[1] [2] [3] 下一页

新闻录入:二少    责任编辑:放弃 
  • 上一个新闻:

  • 下一个新闻: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     推荐文章
    [漏洞公告]FreeBSD不安全随机数生成器信息泄…
    [漏洞公告]TIBCO Rendezvous RVD守护程序远…
    [漏洞公告]AOL Radio AmpX.DLL ActiveX 控件…
    [漏洞公告]PHPBB 2.0.22 MOD版最新注入漏洞…
    [漏洞公告]MS07-062:Windows DNS服务器中漏…
    [漏洞公告]MS07-061:Windows URI处理中的远…
    [漏洞公告]Apple Mac OS X 内核中的KQueue本…
    [漏洞公告]Linux操作系统内核Kernel文件远程…
     热门文章
     [业内新闻]卡巴斯基:2008年5月二十大恶意软…
     [业内新闻]台北世贸中心官网被挂马
     [业内新闻]中国黑客被疑导致美国2003年大停…
     [业内新闻]广东警方侦破多起趁赈灾实施的网…
     [业内新闻]永久拒绝服务攻击出现 黑客攻击基…
     [业内新闻]不怕贼偷就怕贼惦记 谷歌又成垃…
     [业内新闻]震后政府类网站和新闻网站访问量…
     [业内新闻]谨防黑客利用新闻事件使坏 防止资…
     本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
      许可证号:豫ICP备07005385号