phpÒÔrootȨÏÞÖ´ÐеĽâ¾ö·½°¸Ö®Ò»
ÕâÖÖÎÊÌâÎÒÏë´ó¼Ò¿ÉÄܶ¼Óöµ½¹ý£¬ÍøÓÑÌṩµÄ½â¾ö·½·¨Ò²ºÜ¶à¡£ÎÒÒ²Ö»ÊǽáºÏ×Ô¼ºÏµÍ³µÄÐèÇó²¢½áºÏÍøÓѵĽâ¾ö·½°¸À´×ܽáµÄÒ»ÖÖ·½·¨
ÓÃÀ´×÷Ϊ½â¾öphpÒÔrootȨÏÞÖ´ÐÐһЩÆÕͨÓû§²»ÄÜÖ´ÐеÄÃüÁî»òÓ¦ÓõIJο¼¡£
ÆäʵphpÀïµÄpopen()º¯ÊýÊÇ¿ÉÒÔ½â¾öÕâ¸öÎÊÌâµÄ£¬µ«ÊÇÓÉÓÚijЩ°æ±¾µÄlinux(ÈçÎÒʹÓõÄCentos 5)¶Ôϵͳ°²È«µÄ¿¼ÂÇ£¬
ʹµÃÕâ¸öÎÊÌâ½â¾öÆðÀ´Âé·³Á˺öࡣÏÈÀ´¿´Ò»¸öÍøÓÑʹÓÃpopen()º¯ÊýµÄÀý×Ó¡£
/* PHPÖÐÈçºÎÔö¼ÓÒ»¸öϵͳÓû§
ÏÂÃæÊÇÒ»¶ÎÀý³Ì£¬Ôö¼ÓÒ»¸öÃû×ÖΪjamesµÄÓû§,
rootÃÜÂëÊÇ louis¡£½ö¹©²Î¿¼
*/
$sucommand = "su root --command";
$useradd = "/scripts/demo/runscripts.php";
$rootpasswd = "louis";
$user = "james";
$user_add = sprintf("%s %s",$sucommand,$useradd);
$fp = @popen($user_add,"w");
@fputs($fp,$rootpasswd);
@pclose($fp);
¾¹ý×Ô¼ºµÄ²âÊÔ£¬Ö¤Êµ´Ë¶Î´úÂëÊDz»ÄÜʵÏÖ£¨ÖÁÉÙÔÚÎÒµÄϵͳÀïÊÇÕâÑùµÄ£©×÷ÕßÏëÒª»ñµÃµÄ½á¹ûµÄ¡£¾¹ý×Ô¼ººÜ³¤Ê±¼äµÄgoogleÖ®ºó£¬
ÎÊÌâµÄ¹Ø¼üÊÇsu rootÕâ¸öÃüÁîÐèÒªµÄÃÜÂë±ØÐëÒÔÖն˵ķ½Ê½ÊäÈ룬²»ÄÜͨ¹ýÆäËüµÄ·½Ê½£¨ÎÒÒ²²»ÖªµÀ»¹ÓÐûÓÐÆäËüµÄ·½Ê½£©»ñµÃ¡£
ÓÖÓÉÓÚÏîĿҪÇó²»ÄÜʹÓÃÀàËÆÓÚsudoÕâÖÖÓ¦Óã¬ÎÞÄÎ֮ϣ¬ÎÒÑ¡ÔñÁËÍøÓÑÌá³öµÄÓñàдC³ÌÐòµÄ·½·¨À´½â¾ö´ËÎÊÌâ¡£
Ê×ÏÈд¸öC³ÌÐò£¬ÃüÃûΪ:run.c ·ÅÔÚĿ¼/scripts/demo/ÏÂ
#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("/scripts/demo/runscripts.php"); //Ö´Ðнű¾
return 0;
}
±àÒë¸ÃÎļþ£º
gcc -o run -Wall run.c
Ôڸ÷¾¶ÏÂÉú³ÉrunÎļþ£¬Õâ¸ö¿ÉÖ´ÐÐÎļþ¡£Èç¹ûÏÖÔÚÓ
Ïà¹ØÎĵµ£º
<?
$_mysqlhost="localhost";
$_mysqluser="root";
$_mysqlpass="";
$_mysqldata="mydata";
$_connect=mysql_connect($_mysqlhost,$_mysqluser,$_mysqlpass) or die ("´íÎó".mysql_error());
mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary", $ ......
ÒýÓÃÎļþµÄ·½·¨ÓÐ2ÖÖ£º
1¡¢require
require("conn.php"); Ò»°ã·ÅÔÚÒ³ÃæµÄµÚÒ»ÐУ¬×öΪ¸ÃÒ³Ö´ÐеÄÒ»²¿·Ö£¬Ê×ÏÈÖ´ÐÐrequireÄÚµÄconn.php È»ºóÔÙÖ´ÐÐÏÂÃæµÄ´úÂë
2¡¢include
include("header.php");µ±³ÌÐòµ½´ïÕâÀïµÄʱºò²Å»áÖ´ÐÐincludeµÄ header.php ......
ÎÊÌâÃèÊö£ºÒ»¸öÁ¬½ÓÔ¶³ÌÊý¾Ý¿âµÄPHP½Å±¾testdb.php£¬ÔÚä¯ÀÀÆ÷ÖÐÔËÐУºhttp://localhost/testdb.php£¬³öÏÖ´íÎó£ºCan't connect to MySQL server on '10.60.56.220' (13)£¬µ«ÊÇÔÚ±¾µØÓÃphpÃüÁîÐÐÔËÐУºphp testdb.php£¬È´Õý³£µØÁ¬ÉÏÁËÊý¾Ý¿â²¢¶Á³öÁËÆäÖеÄÊý¾Ý¡£
Ó¦ÓóÌÐò»·¾³£º±¾µØIP£º10.60.56.90£¬±¾µØµçÄÔÉϰ²×°Apache 2 ......
1.Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2.echo ±È print ¿ì¡£
3.ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4.ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5.×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6.¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__autolo ......
×î½üÉÏÍøÕÒÁËһЩ¹ØÓÚ±¸·ÝmysqlÊý¾Ý¿âµÄ·½·¨£¬Ö÷Òª¾ÍÊÇͨ¹ýÍøÒ³µÄ·½·¨µ¼³öÊý¾Ý¿âµÄsql Îļþ£¬ÕÒµ½¸ö²»´íµÄ´úÂ룬µ«·¢ÏÖÖÐÎĵ¼³ö»áÂÒÂ룬ÓÚÊÇÉÔ΢ÐÞ¸ÄÁËһϣ¬ÏÂÃæÊDZ¸·ÝµÄ´úÂë
view plaincopy to clipboardprint?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml ......