您的位置 » 首页 » 代码审计,实用工具 » 代码审计:thinksns V3(开源微博系统) getshell 漏洞附利用方法

代码审计:thinksns V3(开源微博系统) getshell 漏洞附利用方法

发表于4年前 | 作者: seay | 分类: 代码审计, 实用工具 | 孵化于:2013年04月08日 | 文章热度:9,928 次 全屏阅读

显示不全请点击全屏阅读

wooyun test的重测试是这程序 结果我申请没让我进 听朋友说是这个
我就大概看了下 就发现个getshell


反正众测那么多黑客 肯定到时候有人挖出来 还不如放出来
attachaction.class.php

 

public function capture(){

                error_reporting(0);

                //解析上传方式
                $query_string        =        t($_SERVER['QUERY_STRING']);
                parse_str($query_string,$query_data); //覆盖data变量

                $log_file        =        time().'_'.rand(0,1000).'.txt';

                $log_path        =        RUNTIME_PATH.'/logs/'.date('Y/md/H/');

                if(!is_dir($log_path))
                        mkdir($log_path,0777,true);

                $file_path        =        './data/uploads/'.date('Y/md/H/');

                if(!is_dir($file_path))
                        mkdir($file_path,0777,true);

                file_put_contents($log_path.$log_file,var_export($query_data,true));

                //按钮截图:FileType=img
                if($query_data['FileType']=='img'){
                        $file_name        =        'capture_'.time().'.jpg';
                }

                //附件上传:FileType=Attachment & FileName=xxx.jpg//利用方式他自己都写了。。
                if($query_data['FileType']=='Attachment'){
                        $file_name        =        $query_data['FileName'];//被覆盖的 文件名神马的
                }

                //处理数据流
                if ($stream = fopen('php://input', 'r')) { //post获取内容
                        // print all the page starting at the offset 10
                        // echo stream_get_contents($stream, -1, 10);
                        $content        =        stream_get_contents($stream);
                        file_put_contents($file_path.$file_name,$content);//这就写出了。。好渣啊
                        fclose($stream);
                }

                //include 'UploadFile.class.php';

                //$up        =        new UploadFile();
                //$up->upload('./uploads/');
                //$info        =        $up->getUploadFileInfo();

                //echo "<pre>";
                //var_dump($_SERVER);
                //var_dump($info);
                //echo "</pre>";

                //输出文件
                echo SITE_URL.ltrim($file_path.$file_name,'.');
        }

 

测试:

 

 

作者:Cond0r

 

 

Tags:

thinksnsv3漏洞, 代码审计,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡


来自 Seay互联网安全博客
本文地址:http://www.cnseay.com/2566/
文章版权说明请看置顶文章,尊重作者,转载请以链接形式标明原文地址

马上分享给你的朋友吧~

已经有2个筒子的人留下了脚印...

  • lx 说:
    1楼
    2013 年 4 月 8 日 下午 2:56 回复

    这个洞真有点无语了
    另外请问seay
    平时代码审计要怎么去锻炼?
    直接从头到尾的看代码吗?

  • maow 说:
    2楼
    2013 年 6 月 12 日 下午 4:29 回复

    不是v3吧?都没有这个函数的说

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)