易截截图软件、单文件、免安装、纯绿色、仅160KB

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
#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());  //这里显示的是当前的uid 可以注释掉.
    printf("my euid :%u\n",geteuid()); //这里显示的是当前的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"); //执行iptables -L命令
    return 0;
}
[/CODE]
编译该文件 gcc -o ipt -Wall ipt.c
在该路径下生成ipt 这个可执行文件.
如果现在用PHP网页调用 该ipt的话,即使setreuid了 也是不行的.
接下来要做的是chmod u+s ./ipt
ls 一下
-rwsr-xr-x  1 root root 5382&nb


相关文档:

PHP类实例教程(二十二):类型提示

PHP是弱类型语言,向方法传递参数时候也不太区分类型。这样的使用会引起很多的问题,PHP开发者认为,这些问题应该是由代码书写者在书写代码时进行检验以避免。没有类型提示很危险。
<?php
class NormalUser
{
/*
* 其它相关代码..省略........
*/
private $age;
public function setAge($_age) {
$this- ......

linux 下php的安装

    
环境软件版本介绍:
 
   APACHE 2.0.59
   PHP5.2.3
   MYSQL5.0.45
   GD-2.0.35
   Zend Optimizer v3.3.0
  
               &n ......

xampp,Eclipse,pdt,xdebug构建php的调试环境

最近弄php,发现下载的phpEclipse不能调试,昨天就用了一个下午的时间搭建了php的调试环境。发现网上的关于php调试的文章让人有点乱,就整理下写成这篇文章,希望对大家有些帮助。
在网上查好像是有两种调试的工具:Xdebug和Zend Debugger,我现在用的是Xdebug。我主要就说说xampp,Eclipse,pdt,xdebug构建php的调试环 ......

PHP新的连接MySQL方法mysqli

PHP新的连接MySQL方法mysqli
1. 开启PHP的API支持
(1)首先修改您的php.ini的配置文件。
      查找下面的语句:
      ;extension=php_mysqli.dll
      将其修改为:
      extension=php_mysqli.dll
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号