螳螂捕蝉黄雀在后

2013-03-05 15:44:18 22 4462
首先题目我是乱取的,文化水平差,不知道咋用词。呵呵


一次逛Pentester 大牛博客,发现osmosis-kr-a-shopping-mall-systems-official-website此篇文章。pent是大牛啊,看题目是啥kr商城官网。于是就有了此文。虽然博主对图片都打了马赛克,但还是没有逃过我的火眼金睛。这里我提下我怎么分析出的ip。

0x01 获取蝉之IP

首先博主文章下面有人提问用的啥扫描软件,博主的回答是  御剑1.5初恋,我就下了个 御剑1.5然后 输入0-9 截图,下载博主打马赛克的图片,同时放大,分析可能的值。尝试几次成功得到了ip,这里我用www.xxooo.com来代替。

0x02 尝试螳螂之漏洞

找到了目标,就是根据博主提供的信息,下载任意文件:
Google搜索site:xxoo.com inurl:file.php
得到了许多连接。

1.
通过下载任意文件 找到数据库文件
但是通过数据库文件的账号密码 在本地连接不上 也许是不允许其他ip连接了
到这里 博主所说的后台登陆 截断拿shell 此路不好进

2.
对网站进行目录扫描
根目录下有 uplpoad1.php 和upload2.php,文件被破坏了。

0x03 分析新漏洞拿到demo站Webshell

得到admin目录下有个editor.php可以上传文件
下载过来分析
<?php
        include_once "../lib/misc.class.php";
        /**
        * 泅犁 admin 叼泛配府俊辑 龋免且 版快父 叼泛配府啊 嘎酒 沥惑利栏肺 悼累茄促..
        */
        $save_dir = "../../files";               
        //        $dir = ereg_replace($_SERVER[DOCUMENT_ROOT], '',  __FILE__);
  //        $web_dir = ereg_replace('admin/popups/upload_image.php', '', $dir) . 'files/';       
         if (is_uploaded_file($_FILES[url][tmp_name])) {
                if (!Misc::isImageExt($_FILES[url][name])) {                // 判断文件后缀
                        Misc::jvAlert("捞固瘤 拳老父 啊瓷钦聪促.", "history.go(-1)");
                        exit;       
                }
                $saveFile = Misc::uploadFileUnsafely($_FILES[url][tmp_name], $_FILES[url][name], $save_dir);   //保存文件名
                $img1 = "/files/" . $saveFile[savedName];  //此处为文件名
        }
       
?>
<script>
        parent.resetImgUrl("<?= $img1 ?>");
</script>
------------------------------

function isImageExt($fileName) {

                        $imgExt = array("jpg", "jpeg", "gif", "png");
                        $isImg = false;

                        $ext = Misc::getFileExtension($fileName, true);// 只是简单判断第一次出现”.”后缀。
                        if (in_array($ext, $imgExt)) {
                                $isImg = true;                               
                        }
                        return $isImg;
                       
                }
               

// 颇老诀肺靛 犬厘磊 官操瘤 臼澜
                function uploadFileUnsafely($attachFile, $attachFileName, $saveDir = '.'){

                        $saveDir = ereg_replace("/$", "", $saveDir);
                        $saveDir .= '/';


                        $ext = strrchr($attachFileName, '.');  //第一次出现“.”的地方
                        $tName = substr($attachFileName, 0, strlen($attachFileName) - strlen($ext));  //主要还是这里 这里可以用到apache解析漏洞
                        $saveFileName = $tName . $ext;
                                $i = 0;
                                while (file_exists($saveDir . $saveFileName)) {
                                        $i++;
                                        $saveFileName =  $tName . $i . $ext;
                                }
               
                                if(!is_dir($saveDir)){        // 颇老 历厘叼泛配府啊 粮犁窍瘤 臼栏搁
                                        @mkdir($saveDir, 0755);
                                }
               
                                move_uploaded_file($attachFile, $saveDir . $saveFileName);
                                chmod($saveDir . $saveFileName, 0744);
                                $attc[size] = filesize($saveDir . $saveFileName);                //byte
                                $attc[savedName] = $saveFileName;                // 历厘登绰 颇老 捞抚
                                $attc[upName] = $attachFileName;                // 诀肺靛矫 颇老匙烙
               
                                return $attc;
                }


function getFileExtension($fileName, $toLower = false) {
                        $ext = strrchr($fileName, '.');
                        $ext = substr($ext, 1);
                        if ($toLower) {
                                $ext = strtolower($ext);
                        }

                        return $ext;
                }
大概看了下, php后缀不行 用1.php.jpg成功上传 并且得到shell

0x04 demo站跟主站不是一台服务器

此时得到的ip为1.1.1.162
Uanme- a


博主提示的是 164 难道漏洞补了
难道博主和我找的demo ip不同
重新开始 同样的方法得到 ip为1.1.1.161
万恶的308

提权是不可能了,看了n遍博主的文章 有个master用户
通过组合密码为:域名@数字 没有成功
在这两个ip看了下 cat /etc/passwd

/var/dev_source
访问此目录 居然有权限
查看.bash_history文件 没有找到敏感信息此时想起 博主所说 域名 难道这个master是 dev测试的网站 看到目录 也很相似

0x04 柳暗花明,dev站跟主站是一台服务器

直接 dev.xxoo.com 居然显示页面 而且是上面两个网站的一样的程序 ping下dev.xxoo.com ip 居然在官网上。
同样方法 上传 得到shell 进去
直接拿到官网网站
Uname -a

此时就是164
然后就是 反弹 提权 直接得到root权限
至此 成功拿下官网!

写此文时,已通知博主将图片重新打码!

关于作者

yiz32篇文章607篇回复

但知行好事,莫要问前程

评论22次

要评论?请先  登录  或  注册