php °²È«Ä£Ê½µÄ²»×ã
PHPµÄsafe_modeÑ¡ÏîµÄÄ¿µÄÊÇΪÁ˽â¾ö±¾ÕÂËùÊöµÄijЩÎÊÌâ¡£
µ«ÊÇ£¬ÔÚPHP²ãÃæÉÏÈ¥½â¾öÕâÀàÎÊÌâ´Ó¼Ü¹¹ÉÏÀ´¿´ÊDz»ÕýÈ·µÄ£¬ÕýÈçPHPÊÖ²áËùÊö(http://php.net/features.safe-mode)¡£
µ±°²È«Ä£Ê½ÉúЧʱ£¬PHP»á¶ÔÕýÔÚÖ´ÐеĽű¾Ëù¶ÁÈ¡£¨»òËù²Ù×÷£©ÎļþµÄÊôÖ÷½øÐмì²é£¬ÒÔ±£Ö¤Óë¸Ã½Å±¾µÄÊôÖ÷ÊÇÏàͬµÄ¡£
ËäÈ»ÕâÑùȷʵ¿ÉÒÔ·À·¶±¾ÕÂÖеĺܶàÀý×Ó£¬µ«Ëü²»»áÓ°ÏìÆäËüÓïÑÔ±àдµÄ³ÌÐò¡£
ÀýÈ磬ʹÓÃBashдµÄCGI½Å±¾£º
#!/bin/bash
echo "Content-Type:text/plain"
echo ""
cat /home/victim/inc/db.inc
Bash½âÎöÆ÷»áÈ¥¹ØÐÄÉõÖÁ¼ì²éPHPÅäÖÃÎļþÖеĴò¿ª°²È«Ä£Ê½µÄÅäÖÃ×Ö·û´®Âð£¿
µ±È»²»»á¡£Í¬ÑùµÄ£¬¸Ã·þÎñÆ÷Ö§³ÖµÄÆäËüÓïÑÔ£¬ÈçPerl£¬PythonµÈ¶¼²»»áÈ¥¹ØÐÄÕâ¸ö¡£
±¾ÕÂÖеÄËùÓÐÀý×Ó¿ÉÒԺܼòµ¥µØ±»¸Ä±à³ÉÆäËü±à³ÌÓïÑÔ¡£
ÁíÒ»¸öµäÐ͵ÄÎÊÌâÊǰ²È«Ä£Ê½²»»á¾Ü¾øÊôÓÚWEB·þÎñÆ÷ÎļþµÄ·ÃÎÊ¡£
ÕâÊÇÓÉÓÚÒ»¶Î½Å±¾¿ÉÒÔÓÃÓÚ½¨Á¢ÁíÒ»¶Î½Å±¾£¬¶øÐ½ű¾ÊÇÊôÓÚWEB·þÎñÆ÷µÄ£¬Òò´ËËü¿ÉÒÔ·ÃÎÊËùÓÐÊôÓÚWEB·þÎñÆ÷µÄÎļþ£º
<?php
$filename='file.php';
$script='<?php
header(\'Content-Type:text/plain\');
readfile($_GET[\'file\']);
?>';
file_put_contents($filename,$script);
?>
ÉÏÃæµÄ½Å±¾½¨Á¢ÁËÏÂÃæµÄÎļþ£º
<?php
header('Content-Type:text/plain');
readfile($_GET['file']);
?>
ÓÉÓÚ¸ÃÎļþÊÇÓÉWeb·þÎñÆ÷Ëù½¨Á¢µÄ£¬Òò´ËËüµÄÊôÖ÷ÊÇWeb·þÎñÆ÷£¨ApacheÒ»°ãÒÔnobodyÓû§ÔËÐУ©£º
$ls file.php
-rw-r--r-- 1 nobody nobody 72 May 21 12:34 file.php
Òò´Ë£¬Õâ¸ö½Å±¾¿ÉÒÔÈÆ¹ýºÜ¶à°²È«Ä£Ê½ËùÌṩµÄ°²È«´ëÊ©¡£
¼´Ê¹´ò¿ªÁ˰²È«Ä£Ê½£¬¹¥»÷ÕßÒ²ÄÜÏÔʾһЩÐÅÏ¢Èç±£´æÔÚ/tmpĿ¼ÄڵĻỰÐÅÏ¢£¬
ÕâÊÇÓÉÓÚÕâЩÎļþÊÇÊôÓÚWeb·þÎñÆ÷µÄ£¨nobody£©¡£
PHPµÄ°²È«Ä£Ê½È·ÊµÆðµ½ÁËһЩ×÷Ó㬿ÉÒÔÈÏΪËüÊÇÒ»ÖÖÉî¶È·À·¶»úÖÆ¡£
¿ÉÊÇ£¬ËüÖ»ÌṩÁË¿ÉÁ¯µÄ±£»¤£¬Í¬Ê±ÔÚ±¾ÕÂÖÐҲûÓÐÆäËü°²È«´ëÊ©À´Ìæ´úËü¡£
Ïà¹ØÎĵµ£º
header
(PHP 3, PHP 4, PHP 5)
header -- ·¢ËÍÒ»¸öÔʼ HTTP ±êÍ·
˵Ã÷
void header ( string string [, bool replace [, int http_response_code]] )
header() º¯ÊýÓÃÀ´·¢ËÍÒ»¸öÔʼ HTTP ±êÍ·¡£ÓÐ¹Ø HTTP ±êÍ·µÄ¸ü¶àÄÚÈݼû HTTP/1.1 ¹æ·¶¡£
¿ÉÑ¡²ÎÊý replace Ö¸Ã÷ÊÇÌæ»»µôǰһÌõÀàËÆµÄ±êÍ·»¹ÊÇÔö¼ÓÒ»ÌõÏàͬÀàÐ͵ ......
memcache::debug
bool memcache_debug ( bool $on_off )
˵Ã÷£º
¿ØÖƵ÷ÊÔ¹¦ÄÜ£¬Ç°ÌáÊÇphpÔÚ±àÒëµÄʱºòʹÓÃÁË-enable-debugÑ¡Ï·ñÔòÕâ¸öº¯Êý²»»áÓÐ×÷Óá£
²ÎÊý£º
$on_off£ºtrue±íʾ¿ªÆôµ÷ÊÔ£¬false±íʾ¹Ø±Õµ÷ÊÔ
·µ»ØÖµ£º
Èç¹ûphpÔÚ±àÒëµÄʱºòʹÓÃÁË-enable-debugÑ¡Ï·µ»Øtrue£¬·ñÔò·µ»Øfalse
Memcache::decremen ......
Ê×ÏÈPerl mkdir µÄÓï·¨ÊÇ£º
1.mkdir('dir', ´ú±í¾Åλ¶þ½øÖÆÊý×ÖµÄÊ®½øÖÆÖµ)
ÉèÖÃ775£¬Ôò¸ÃֵΪʮ½øÖƵÄ509£¬¼´¶þ½øÖƵÄ111111101
´ËÊýÖµ²»ÄÜÉèÖÃΪ111111111¼´Ê®½øÖƵÄ511¼´777¡£
2.mkdir('dir', 0³£¼ûunix3λȨÏÞ)
¿ÉÒÔÉèÖÃ777¡£
È»ºóÔÚlinuxÏÂʱ£¬ÓÉÓÚumaskµÄÔÒò£¬Ö»ÄÜÉèÖÃΪ755¡£
ÒòΪ´´½¨ÎļþʱµÄȨÏÞÊÇumaskºÍ ......
Ò»¸ö·Ç³£¼òµ¥µÄPHPÉú³ÉËõÂÔͼµÄ´úÂë³ÌÐò£¬²ÎÊý¼°´úÂë¶¼ËãµÃÉϾ«¼ò£¬ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔÊÔÏÂËüµÄ¹¦ÄÜ£¬Óв»Ì«ÍêÉÆµÄµØ·½»¹ÇëÖ¸Õý¡£ ·ÇÔ´´£¬À´×ÔÍøÂç
<?$FILENAME="image_name";
// Éú³ÉͼƬµÄ¿í¶È
$RESIZEWIDTH=400;
// Éú³ÉͼƬµÄ¸ß¶È
$RESIZEHEIGHT=400;
function ResizeImage($im,$maxwidth,$maxheight,$name){ ......
ÅäÖÃPHP¿ª·¢»·¾³£¬ÕâÊÇÀϵôÑÀµÄÎÊÌâÁË£¬ÔÚÍøÂçÉÏÒ»ÕÒÒ»´ó¶Ñ¡£
²»¹ý¿´À´¿´È¥£¬Í·¶¼ÔÎÁË¡£»¹ÊÇÑ¡¶¨Ò»¸öÎÄÕªºÃºÃʵ¼ùÏ£¬Èô°²×°³É¹¦µÄ»°¼ÇÏÂÀ´ÒÔ±ãÒÔºó֨װÓÐÓô¦¡£
×îÖÕ»¨ÁËÒ»¸öÏÂÎçÖÕÓÚÅäÖúÃÁË£¬¹»ÕÛÄ¥È˵Ä˵£¬²»¹ýѧµ½ºÜ¶àÁË¡£
xp»·¾³
mysql5.0.22
php5.3.2 win32-VC6-x86.zip
httpd2.2.15 win32.msi
phpmyadmin3.3 ......