国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux系統(tǒng)編程:用PHP執(zhí)行Root命令

2024-08-28 00:06:14
字體:
供稿:網(wǎng)友

在玩C以前玩過一段時間的PHP, 哪個時候需要用PHP 來運行root命令,一直未果,直到有一天搜索到了super這個插件。

隨著玩C的日子多了,發(fā)現(xiàn)可以用C語言來包裹 要運行的外部命令。實驗了一下,成功了。不需要任何外部工具就可以實現(xiàn)用PHP 執(zhí)行root命令。我下面就把方法發(fā)布給大家,有需求用php來運行root命令的朋友可以不用發(fā)愁了。

平臺:Linux

實驗命令iptables,當(dāng)前的目錄是/var/www/html/http,寫程序的時候用root用戶,大家都知道iptables 非root用戶不能運行。

首先寫個C程序,命名為:ipt.c。

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main() {     uid_t uid ,euid;     char cmd[1024];     uid = getuid() ;     euid = geteuid();     printf("my uid :%u/n",getuid());  //這里顯示的是當(dāng)前的uid 可以注釋掉.     printf("my euid :%u/n",geteuid()); //這里顯示的是當(dāng)前的euid     if(setreuid(euid, uid))  //交換這兩個id         perror("setreuid");     printf("after setreuid uid :%u/n",getuid());     printf("afer sertreuid euid :%u/n",geteuid());     system("/sbin/iptables -L"); //執(zhí)行iptables -L命令     return 0; }

編譯該文件:

gcc -o ipt -Wall ipt.c

在該路徑下生成ipt,這個可執(zhí)行文件。如果現(xiàn)在用PHP網(wǎng)頁調(diào)用 該ipt的話,即使setreuid了 也是不行的。

接下來要做的是:

chmod u+s ./ipt ls -rwsr-xr-x  1 root root 5382 Jul  2 21:45 ipt

好了,已經(jīng)設(shè)置上了,再寫一個php頁面調(diào)用它。

      <?php echo '<pre>'; $last_line = system('/var/www/html/http/ipt', $retval); echo ' </pre> <hr />Last line of the output: ' . $last_line . ' <hr />Return value: ' . $retval; ?>
      發(fā)表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發(fā)表
      主站蜘蛛池模板: 谢通门县| 房产| 晋城| 晋宁县| 科技| 离岛区| 景泰县| 河源市| 青州市| 南雄市| 阳谷县| 尼玛县| 高雄县| 屏东市| 钟山县| 浦东新区| 十堰市| 保康县| 伊通| 新邵县| 含山县| 石景山区| 丘北县| 深泽县| 德保县| 岳池县| 喀什市| 慈溪市| 扎兰屯市| 三台县| 肃南| 河北区| 隆昌县| 仁怀市| 田东县| 天长市| 宾川县| 蒙自县| 镶黄旗| 南阳市| 金塔县|