易截截图软件、单文件、免安装、纯绿色、仅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抽象类实现接口

<p>抽象类实现接口,可以不实现其中的抽象方法,而将抽象方法的实现交付给具体能被实例化的类去处理。</p>
<textarea name="code" class="php">
<?php
interface User
{
 function getName();
 function setName($_name);
}
 //此处只是实现了一个接口的一个方法
abstract cl ......

PHP 创建数据库练习

<?php
header("Content-type:text/html","Charset=UTF-8");
$file="config/config.php";
if(is_writable($file)!=null){
 echo "文件可写入 \n";
}else{
 echo "文件不可写|";
 exit();
}
if(isset($_POST["install"])){
 $string = "<?php \n";
 $string .="\$mysql_host=\"$_P ......

PHP里的Tidy模块配置(PHP4.X PHP5.X)


在PHP里Tidy模块其实功能很强,特别用在网页分析这一块,由于最近在读取邮箱通讯录里,像163读出来的就是一个页面,只有通过Tidy分析读取邮箱地址和姓名,所以在这里简单的介绍一下Tidy的安装,这里为什么在指出PHP4.X和PHP5.X,因为在PHP4.X还没有自带Tidy模块,PHP5.X自己带有,所以在网上很多资料都是说找不到支持PHP5 ......

用php的c扩展编程调用 c程序的动态链接库


一.    首先做一个简单的so文件:
    /**
     * hello.c
     * To compile, use following commands:
     *   gcc -O -c -fPIC -o hello.o hello.c
     *   gcc -shared ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号