|
|
7³â Àü
|
(PHP 4, PHP 5, PHP 7)
exec — ¿ÜºÎ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â
¼³¸í
string exec ( string $command [, array &$output [, int &$return_var ]] )
exec() ´Â ÁöÁ¤µÈ ¸í·É¾î command ¸¦ ½ÇÇàÇÕ´Ï´Ù.
ÆĶó¹ÌÅÍ
command
½ÇÇàÇÏ´Â ¸í·É
output
Àμö°¡output Á¸ÀçÇÒ °æ¿ì ÁöÁ¤ÇÑ ¹è¿Àº ¸í·ÉÀÇ Ãâ·Âµé·Î ä¿ï ¼ö ÀÖ½À´Ï´Ù. \n °°Àº Á÷ÈÄÀÇ °ø¹éÀº ÀÌ ¹è¿¿¡´Â Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ¹è¿¿¡ ÀÌ¹Ì ¾î¶² ¿ä¼Ò°¡ Æ÷ÇԵǴ °æ¿ìexec() ´Â ¹è¿ÀÇ ¸¶Áö¸·¿¡ Ãß°¡µÈ´Ù °ÍÀ» »ý°¢Çϼ¼¿ä. ÇÔ¼ö°¡ ¿ä¼Ò¸¦ Ãß°¡Çϱ⸦ ¹Ù¶óÁö ¾Ê´Â´Ù¸é ±×°ÍÀÌexec() ¿¡°Ô °Ç³×±â Àü¿¡ ¹è¿ unset() ¸¦ È£ÃâÇϼ¼¿ä.
return_var
Àμöreturn_var°¡, Àμö output °ú ÇÔ²² Á¸ÀçÇÒ °æ¿ì ½ÇÇàÇÑ ¸í·É¾îÀÇ À§»óÀÌ ÀÌ º¯¼ö¿¡ ¾¹´Ï´Ù.
¹Ýȯ °ª
¸í·É °á°úÀÇ ¸¶Áö¸· ÇàÀ» °±°Ú½À´Ï´Ù. ¸í·ÉÀ» ¼öÇàÇÏ°í ÀÏÀý °£¼·À» ¹ÞÁö ¾Ê°í Á÷Á¢ ¸í·É¿¡¼ ¸ðµç µ¥ÀÌÅ͸¦ ¹ÞÀ» ÇÊ¿ä°¡ ÀÖ´Ù¸éPassThru() ÇÔ¼ö¸¦ »ç¿ëÇϼ¼¿ä.
½ÇÇàµÈ ¸í·É Ãâ·ÂÀ» ÃëµæÇÏ·Á¸é ¹Ýµå½Ãoutput ÆĶó¹ÌÅ͸¦ ¼³Á¤ »ç¿ëÇϼ¼¿ä.
¿¹
»ç·Ê 1exec() ÀÇ ¿¹
<?php
// ("whoami" ¸í·ÉÀ» Æнº¿¡ ÀÖ´Â ½Ã½ºÅÛ»ó¿¡¼)
// ½ÇÇà ÁßÀÇ php/httpdÇÁ·Î¼¼½º¸¦ ¼ÒÀ¯ÇÏ´Â À¯ÀúÀÇ À̸§À» Ãâ·Â
echo exec('whoami');
?>
ÁÖÀÇ
°æ°í
»ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ µ¥ÀÌÅ͸¦ ÀÌ ÇÔ¼ö¿¡ Áֱ⸦ Çã¿ëÇÏ´Â °æ¿ì »ç¿ëÀÚ°¡ ÀÓÀÇÀÇ Ä¿¸àµå¸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ½Ã½ºÅÛÀ» ¼ÓÀÏ ¸øÇÏ°Ôescapeshellarg() ¶Ç´Â escapeshellcmd() ¸¦ Àû¿ëÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
ÁÖÀÇ:
ÇÁ·Î±×·¥ÀÌ ÀÌ ÇÔ¼ö·Î ½ÃÀÛµÉ °æ¿ì ¹è°æÀ¸·Î 󸮸¦ ÁøÇà½ÃÅ°´Â¿¡´Â ÇÁ·Î±×·¥ÀÇ Ãâ·ÂÀ» ÆÄÀÏÀ̳ª ´Ù¸¥ Ãâ·Â ½ºÆ®¸²¿¡ ¹æÇâ ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¾È ±×·¯¸é ÇÁ·Î±×·¥ÀÌ ½ÇÇàÀ» ¸¶Ä¥ ¶§±îÁö PHP´Â Çà ÇÕ´Ï´Ù.
ÁÖÀÇ: ¼¼ÀÌÇÁ ¸ðµå°¡ À¯È¿ÇÑ °æ¿ì safe_mode_exec_dir ¾È¿¡ ÀÖ´Â ½ÇÇà ÇÁ·Î±×·¥¸¸À» ½ÇÇà °¡´ÉÇÕ´Ï´Ù. ½ÇÁ¦ÀûÀÎ ÀÌÀ¯·Î ÇöÀç ½ÇÇà ÇÁ·Î±×·¥¿¡ ´ëÇÑ Æнº¸¦.. Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù.
°æ°í
¼¼ÀÌÇÁ ¸ðµå°¡ À¯È¿ÇÑ °æ¿ì ¸í·É ¹®ÀÚ¿Àº escapeshellcmd() ±×·¡¼ È®ÀåµË´Ï´Ù. Áï,´Âecho y | echo x ,echo y \| echo x ÀÔ´Ï´Ù. |
|
̵̧ : 282 |
̵̧
¸ñ·Ï
|
|