Rumah php教程 php手册 Linux系统编程:用PHP执行Root命令

Linux系统编程:用PHP执行Root命令

Jun 06, 2016 pm 07:55 PM
linux php root Pesanan melaksanakan sistem pengaturcaraan

在玩C以前玩过一段时间的PHP, 哪个时候需要用PHP 来运行root命令,一直未果,直到有一天搜索到了super这个插件。 随着玩C的日子多了,发现可以用C语言来包裹 要运行的外部命令。实验了一下,成功了。不需要任何外部工具就可以实现用PHP 执行root命令。我下面就

在玩C以前玩过一段时间的PHP, 哪个时候需要用PHP 来运行root命令,一直未果,直到有一天搜索到了super这个插件。

随着玩C的日子多了,发现可以用C语言来包裹 要运行的外部命令。实验了一下,成功了。不需要任何外部工具就可以实现用PHP 执行root命令。我下面就把方法发布给大家,有需求用php来运行root命令的朋友可以不用发愁了。

平台:Linux

实验命令iptables,当前的目录是/var/www/html/http,写程序的时候用root用户,大家都知道iptables 非root用户不能运行。

首先写个C程序,命名为:ipt.c。

<font><ccid_code>#include <stdio.h> <br>#include <stdlib.h> <br>#include <sys> <br>#include <unistd.h> <br><br>int main() <br>{ <br>    uid_t uid ,euid; <br>    char cmd[1024]; <br><br>    uid = getuid() ; <br>    euid = geteuid(); <br><br>    printf("my uid :%u/n",getuid());  //这里显示的是当前的uid 可以注释掉. <br>    printf("my euid :%u/n",geteuid()); //这里显示的是当前的euid <br>    if(setreuid(euid, uid))  //交换这两个id <br>        perror("setreuid"); <br>    printf("after setreuid uid :%u/n",getuid()); <br>    printf("afer sertreuid euid :%u/n",geteuid()); <br><br>    system("/sbin/iptables -L"); //执行iptables -L命令 <br>    return 0; <br>}</unistd.h></sys></stdlib.h></stdio.h></ccid_code></font>
Salin selepas log masuk

编译该文件:

<font><ccid_code>gcc -o ipt -Wall ipt.c</ccid_code></font>
Salin selepas log masuk

在该路径下生成ipt,这个可执行文件。如果现在用PHP网页调用 该ipt的话,即使setreuid了 也是不行的。

接下来要做的是:

<font><ccid_code>chmod u+s ./ipt <br><br>ls <br>-rwsr-xr-x  1 root root 5382 Jul  2 21:45 ipt</ccid_code></font>
Salin selepas log masuk

好了,已经设置上了,再写一个php页面调用它。

<font><ccid_code><?php <br />echo '<pre class="brush:php;toolbar:false">'; <br><br>$last_line = system('/var/www/html/http/ipt', $retval); <br><br>echo ' <br>
Salin selepas log masuk


Last line of the output: ' . $last_line . '

Return value: ' . $retval;
?>

在浏览器中浏览。

<font><ccid_code>[color=Red]Chain INPUT (policy ACCEPT) <br>target     prot opt source               destination          <br><br>Chain FORWARD (policy DROP) <br>target     prot opt source               destination          <br>ACCEPT     all  --  anywhere             anywhere            <br>state RELATED,ESTABLISHED  <br><br>Chain OUTPUT (policy ACCEPT) <br>target     prot opt source               destination         [/color] <br>[color=Blue]my uid :48 <br>my euid :0 <br>after setreuid uid :0 <br>afer sertreuid euid :48[/color] <br><br><br>---------------------------------------------------------<br>Last line of the output: afer sertreuid euid :48  <br>---------------------------------------------------------<br>Return value: 0</ccid_code></font>
Salin selepas log masuk

该命令执行成功。

众 所周知: apache的uid 为48。调用setreuid后将有效用户id和实际用户id互换了。(必须在chmod u+s生效的情况下) 使apache当前的uid为0这样就能执行root命令了。大家只需要更改 C文件中的system所要执行的命令就可以实现自己的PHP执行root命令了。

Linux联盟收集整理 
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek Feb 19, 2025 pm 04:54 PM

DeepSeek adalah alat carian dan analisis pintar yang kuat yang menyediakan dua kaedah akses: versi web dan laman web rasmi. Versi web adalah mudah dan cekap, dan boleh digunakan tanpa pemasangan; Sama ada individu atau pengguna korporat, mereka dapat dengan mudah mendapatkan dan menganalisis data besar-besaran melalui DeepSeek untuk meningkatkan kecekapan kerja, membantu membuat keputusan dan menggalakkan inovasi.

Cara Memasang DeepSeek Cara Memasang DeepSeek Feb 19, 2025 pm 05:48 PM

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025) Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025) Feb 21, 2025 pm 08:42 PM

Bitget adalah pertukaran cryptocurrency yang menyediakan pelbagai perkhidmatan perdagangan termasuk perdagangan tempat, perdagangan kontrak dan derivatif. Ditubuhkan pada tahun 2018, pertukaran itu beribu pejabat di Singapura dan komited untuk menyediakan pengguna dengan platform perdagangan yang selamat dan boleh dipercayai. Bitget menawarkan pelbagai pasangan perdagangan, termasuk BTC/USDT, ETH/USDT dan XRP/USDT. Di samping itu, pertukaran mempunyai reputasi untuk keselamatan dan kecairan dan menawarkan pelbagai ciri seperti jenis pesanan premium, perdagangan leverage dan sokongan pelanggan 24/7.

Kunci Pengekodan: Membuka Kunci Kuasa Python untuk Pemula Kunci Pengekodan: Membuka Kunci Kuasa Python untuk Pemula Oct 11, 2024 pm 12:17 PM

Python ialah bahasa pengenalan pengaturcaraan yang ideal untuk pemula melalui kemudahan pembelajaran dan ciri yang berkuasa. Asasnya termasuk: Pembolehubah: digunakan untuk menyimpan data (nombor, rentetan, senarai, dll.). Jenis data: Mentakrifkan jenis data dalam pembolehubah (integer, titik terapung, dll.). Operator: digunakan untuk operasi matematik dan perbandingan. Aliran kawalan: Kawal aliran pelaksanaan kod (penyataan bersyarat, gelung).

See all articles