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Îļþ£¬Õâ¸ö¿ÉÖ´ÐÐÎļþ¡£Èç¹ûÏÖÔÚÓ
Ïà¹ØÎĵµ£º
ÔÚÒÔǰµÄ×öµÄÀý×ÓÖÐÓöµ½¹ýÖØ¸´µÄ¼ÓÔØµÄ´íÎó ¶î ÄǸöÊÇͨ¹ýinclude_once()À´½â¾ö »òÕß²»ÈÃËûÖØ¸´¼ÓÔØ°ÑÖØ¸´µÄinclude()È¥µôÒ»¸ö»ò¶à¸ö£¬×îÖÕֻʣÏÂÒ»¸öÕâÑùÎÊÌâ¾Í½â¾öÁË£¬µ«½ñÌìÓöµ½µÄÎÊÌâ¾Í¼¬ÊÖÁË ËµÊÇÕÒ²»µ½Îļþ¡£
ÊÂÇéÊÇÕâÑùµÄ £¬½ñÌìÔÚÎļþ¼ÐÀïÔÙн¨ÁËÒ»¸öÎļþ¼Ð£¬È»ºóÒÔǰinclud ......
<?
include 'conn.php';
$_pagenob=10; //ÿҳ¹æ¶¨µÄÐÅÏ¢ÊýÄ¿
//»ñÈ¡µ±Ç°Ò³
if(isset($_GET["page"]))
{
$_page = intval( $_GET['page'] );
}
else
{
$_page=1;
}
//²éѯÊý¾Ý×ÜÊý
$_query="select count(*) as acount from news";
$_result=mysql_query($_query);
$_row=mysql_fetch_row($_result);
......
ÎÊÌâÃèÊö£ºÒ»¸öÁ¬½ÓÔ¶³ÌÊý¾Ý¿âµÄ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 ......
ÔÚwindows²Ù×÷ϵͳÅäÖÃPHP»·¾³£¬¿ÉÒÔÓÃIIS×öÓ¦Ó÷þÎñÆ÷£¬Ò²¿ÉÒÔʹÓÃApache×öÓ¦Ó÷þÎñÆ÷¡£±¾ÎĽéÉÜÔÚWindows XP²Ù×÷ϵͳÏÂÅäÖÃPHPºÍApache»·¾³¡£
×¼±¸¹¤×÷£º
1¡¢ÔÚhttp://windows.php.net/download/ÏÂÔØPHP³ÌÐò°ü£¬ÒòΪÓÃApache×öÓ¦Ó÷þÎñÆ÷£¬Ñ¡ÔñÓÃVC6±àÒëµÄ ......
ǰÑÔ£ºÎÒдµÄ¹ØÓÚÉè¼ÆÄ£Ê½µÄһϵÁÐÎÄÕ¡£ÕâϵÁеÄÎÄÕÂÖ÷ÒªÕë¶Ôû½Ó´¥¹ýÉè¼ÆÄ£Ê½µÄ£¬»òÕß˵½Ó´¥¹ýµ«»¹²»ÊǺÜÃ÷°×µÄPHPer¡£
ÎÊÌâµÄÌá³ö:
¿ÉÄܺܶàÈ˶¼Ð´¹ýÀ࣬Îļþ²Ù×÷µÄ£¬Êý¾Ý¿âµÄ……
¶ÔÓÚÊý¾Ý¿âµÄÀàÀ´ËµÓÐʱºò¿ÉÄܱ»ºöÂÔµÄÒ»¸öÎÊÌâÊÇ£ºÎÒÃÇ´´½¨ÀàµÄʵÀýʱһ°ã¶¼ÊÇͨ¹ý¹¹Ô캯ÊýÁ¬½ÓÁËÊý¾Ý¿â¡£Õâû´ ......