如何讓PHP通過ROOT權限來執行LINUX命令

2020-12-17 大咖深扒

一般 PHP 在 LINUX 伺服器上執行 shell 命令時,只能擁有 www:www 帳戶權限,想執行一些系統命令是沒有權限的,如重啟 apache,因為控制 apache 需要 root 權限,因此下面的辦法可以讓 PHP 執行 ROOT 權限的命令。

php執行ROOT權限

1、建立一個 C 語言文件,test.c,裡面內容如下

#include#include#include <sys/types.h>#include <sys/wait.h>#includevoid main(){pid_t pid;uid_t uid,euid;uid=getuid();euid=geteuid();setreuid(euid,uid);//下面代碼中加入想讓 PHP 執行的命令,如重啟 apachesystem(「/etc/init.d/httpd restart」);}

2、編譯這個 c 文件 gcc -o test test.c,生成 test 這個可執行文件

3、給這個 test 文件賦 root 權限,並且加入任何用戶都能訪問的權限

chown root:root testchmod u+s test

4、在 PHP 中調用 test 這個執行文件,來實現重啟 apache

相關焦點

  • 通過可寫文件獲取Linux root權限的5種方法
    開啟攻擊機器,黑掉目標系統,然後進行權限提升。假設成功地通過ssh登錄到受害者的機器,並可以訪問非root的用戶終端。然後使用下面的命令,下面會舉例所有有寫權限的二進位文件。Admin要將下面的腳本加入,來清理/tmp中的垃圾文件。如果攻擊者能夠識別受害者機器中的這類情形,就可以通過下面的方式來提升root權限來破壞系統。
  • Linux系統利用可執行文件的Capability實現權限提升
    這樣一來,權限檢查的過程就變成了:在執行特權操作時,如果線程的有效身份不是root,就去檢查其是否具有該特權操作所對應的capabilities,並以此為依據,決定是否可以執行特權操作。libcap提供了getcap和setcap兩個命令來分別查看和設置文件的capabilities,同時還提供了capsh來查看當前shell進程的capabilities。libcap-ng更易於使用,使用同一個命令filecap來查看和設置capabilities。
  • Linux創建root不可修改刪除而只可追加權限的文件
    這種文件類型是指按照字節流,來處理數據的設備。 比如說終端機,或者數據機b一個塊設備文件。這種文件類型是指按照數據塊,來處理數據的設備,例如一個硬碟,或者 CD-ROM 盤。剩下的九個字符,叫做文件模式,代表著文件所有者,文件組所有者,和其他人的讀,寫,執行權限。
  • 在Linux上通過可寫文件獲取root權限的多種方式
    當管理員為任何文件設置權限時,都應清楚併合理為每個Linux用戶分配應有的讀寫執行權限。在本文中我將為大家展示,如何利用Linux中具有寫入權限的文件/腳本來進行提權操作。想要了解更多關於Linux系統權限的內容,可以閱讀這篇文章。好了,話不多說。下面就進入我們的正題吧!首先,我們來啟動我們的攻擊機並滲透進目標系統直至提權階段。
  • linux基礎命令(文件操作/文件權限)
    home # cat lml.txt查看lml.txt前30行內容bogon:/home # head -n 30 lml.txt查看新產生的lml.log內容bogon:/home # tail -f lml.log連結文件Linux連結分為兩種,硬連結Hard Like和符號連結Symbolic Like即軟連接硬連結硬連結是通過索引節點來進行連結
  • 【Linux】Linux系統中的權限詳解
    所以對於了解linux系統中的各種權限及要給用戶,服務等分配合理的權限十分重要。一.文件基本權限   首先看下linux下的文件權限,可以使用ll命令或者是帶-l(長列表選項)的ls命令。  這個權限就是靠umask的值來定義的。那麼什麼是umask?    umask(權限掩碼) 就是指定當前用戶在建立文件或目錄時候的權限默認值。當新文件被創建時,其最初的權限由文件創建掩碼決定。用戶每次登錄系統時,umask命令都被執行, 並自動設置掩碼mode來限制新文件的權限。用戶可以通過再次執行umask命令來改變默認值,新的權限將會把舊的覆蓋掉。
  • Linux裡面如何理解和管理他們的讀、寫、執行權限?
    面對眾多的文件,如何理解和管理他們的讀、寫、執行權限呢?本文引用地址:http://www.eepw.com.cn/article/201807/382761.htm  在Windows下,可以通過滑鼠右擊文件,在屬性欄查看文件的權限。Linux下的文件「哲學」是否與Windows相同呢?我們從以下幾點分析。  1 .
  • file_put_contents+php-fpm如何命令執行
    本文學習file_put_contents + FTP + php-fpm的命令執行。原理參考[2],我們可以得知,PHP-FPM未授權訪問時,可以通過修改變量auto_prepend_file或auto_append_file來執行文件。根據[1]中描述,我們需要讓file_put_contents時,將結果寫到php-fpm,這樣造成命令執行。
  • 每天十分鐘-學透linux--(兩個特殊權限 SUID SGID)
    我們稱有該權限位的可執行文件為具有SUID 特殊權限的可執行文件,所具有的功能是,只要用戶對設有 SUID 的文件有執行權限,那麼當用戶執行此文件時,會以文件所有者的身份去執行此文件,一旦文件執行結束,身份的切換也隨之消失。
  • Linux文件權限基本屬性圖文詳解
    Linux 系統的每一個文件或目錄都有訪問權限,這些訪問權限決定了哪些用戶和組群能訪問文件和能執行的操作。【查看文件權限】使用ls -l 命令可以顯示文件的屬性以及文件所屬的用戶和組。註:讀權限,表示可以用一些命令來讀取某個文件的內容;寫權限,表示可以編輯和修改某個文件;執行權限,通常指可以運行的二進位程序文件或者腳本文件。
  • Linux修改權限命令chmod用法示例
    在Linux/Unix系統中,文件和目錄的可訪問性是由文件所有權和權限決定的。在上一篇文章中,我們了解了如何使用chown命令管理文件和目錄的所有權。在本教程中,我們將介紹chmod命令。chmod命令(change mode的縮寫)用於管理文件和目錄權限,並確定誰可以訪問它們。現在讓我們深入了解文件和目錄權限的本質,以及如何修改它們。
  • 對Linux—suid提權的一些總結
    在Linux 2.2引入CAPABILITIES前,使用Raw Socket是需要root權限的(當然不是說引入CAPABILITIES就不需要權限了,而是可以通過其他方法解決,這個後說),所以你如果在一些老的系統裡ls -al $(which ping),可以發現其權限是-rwsr-xr-x,其中有個s位,這就是suid:root@linux:-
  • 全面介紹 Linux 權限 | Linux 中國
    了解 Linux 權限以及如何控制哪些用戶可以訪問文件是系統管理的一項基本技能。本文將介紹標準 Linux 文件系統權限,並進一步研究特殊權限,以及使用 umask 來解釋默認權限作為文章的結束。理解 ls 命令的輸出在討論如何修改權限之前,我們需要知道如何查看權限。通過 ls 命令的長列表參數(-l)為我們提供了有關文件的許多信息。
  • linux cp命令參數及用法詳解---linux 複製文件命令cp
    # 但是,反過來說,如果不想要詢問時,則加上 -f 這個參數來強制直接覆蓋!範例二:將 /var/log/wtmp 複製到 /tmp 底下[root@linux tmp]# cp /var/log/wtmp . <==想要複製到目前的目錄,最後的 .
  • 常用的更改Linux系統文件權限的命令
    如果權限位不可讀、不可寫、不可執行,是用-來表示。當然,對於普通文件的讀、寫、執行權限可以這樣理解:可讀:意味著可以查看閱讀;可寫:意味著,可以修改或刪除(不過刪除或修改的權限受父目錄上的權限控制);可執行:意味著如果文件就可以運行,比如二進位文件(比如命令),或腳本(要用腳本語言解釋器來解釋運行)。
  • PHP在Linux下執行定時任務的實現思路詳解
    伺服器上安裝了php,就可以執行php文件,無論是否安裝了nginx或Apache這樣的伺服器環境軟體。而Linux中,使用命令行,用CronTab來定時任務,又是絕佳的選擇,而且也是效率最高的選擇。首先,進入命令行模式。
  • Linux 修改權限命令 chmod 用法示例
    在Linux/Unix系統中,文件和目錄的可訪問性是由文件所有權和權限決定的。在上一篇文章中,我們了解了如何使用chown命令管理文件和目錄的所有權。在本教程中,我們將介紹chmod命令。chmod命令(change mode的縮寫)用於管理文件和目錄權限,並確定誰可以訪問它們。現在讓我們深入了解文件和目錄權限的本質,以及如何修改它們。
  • Linux chmod目錄權限命令圖文詳解
    在Linux文件系統模型中,每個文件都有一組9個權限位用來控制誰能夠讀寫和執行該文件的內容。普通文件大家都了解,這裡說說目錄的情況。
  • Linux常用命令:nslookup,lsmd5sum,uname,history等
    註:目錄只能在用戶擁有寫權限的目錄下才能創建。在linux中,文件、文件夾、驅動、命令、腳本都視為文件。9、mkpasswd此命令根據指定長度,產生一個難猜的隨機密碼。其中-l表示長度(Length)。如下圖產生15位的隨機密碼。
  • 電視盒和智能電視如何通過ADB獲取ROOT權限?
    如何通過adb獲取root權限(安卓電視盒和智能電視通用)