½Ã½ºÅÛ°ü¸®ÀÚÀÇ ½°ÅÍ Ä¿ÇǴнº Ä¿ÇÇÇâÀÌ ³ª´Â *NIX
Ä¿ÇǴнº
½Ã½ºÅÛ/³×Æ®¿÷/º¸¾ÈÀ» ´Ù·ç´Â °÷
 FAQFAQ   °Ë»ö°Ë»ö   ¸â¹ö¸®½ºÆ®¸â¹ö¸®½ºÆ®   »ç¿ëÀÚ ±×·ì»ç¿ëÀÚ ±×·ì   »ç¿ëÀÚ µî·ÏÇϱâ»ç¿ëÀÚ µî·ÏÇϱâ 
 °³ÀÎ Á¤º¸°³ÀÎ Á¤º¸   ºñ°ø°³ ¸Þ½ÃÁö¸¦ È®ÀÎÇÏ·Á¸é ·Î±×ÀÎÇϽʽÿÀºñ°ø°³ ¸Þ½ÃÁö¸¦ È®ÀÎÇÏ·Á¸é ·Î±×ÀÎÇϽʽÿÀ   ·Î±×Àηα×ÀΠ

°¡ÀÔ¾øÀÌ ´©±¸³ª ±ÛÀ» ¾µ ¼ö ÀÖ½À´Ï´Ù. °øÁö»çÇ׿¡ ´ëÇÑ ´ñ±Û±îÁöµµ..




BBS >> ¼³Ä¡, ¿î¿µ Q&A | ³×Æ®¿÷, º¸¾È Q&A | ÀÏ¹Ý Q&A || Á¤º¸¸¶´ç | AWS || ÀÚÀ¯°Ô½ÃÆÇ | ±¸Àα¸Á÷ || °øÁö»çÇ× | ÀÇ°ßÁ¦½Ã
php¿¡¼­ hash table DoS(HashDoS) °ø°Ý ¹æ¾î

 
±Û ¾²±â   ´äº¯ ´Þ±â    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ °Ô½ÃÆÇ À妽º -> *NIX / IT Á¤º¸
ÀÌÀü ÁÖÁ¦ º¸±â :: ´ÙÀ½ ÁÖÁ¦ º¸±â  
±Û¾´ÀÌ ¸Þ½ÃÁö
truefeel
Ä«Æä °ü¸®ÀÚ


°¡ÀÔ: 2003³â 7¿ù 24ÀÏ
¿Ã¸° ±Û: 1277
À§Ä¡: ´ëÇѹα¹

¿Ã¸®±â¿Ã·ÁÁü: 2012.1.04 ¼ö, 9:58 am    ÁÖÁ¦: php¿¡¼­ hash table DoS(HashDoS) °ø°Ý ¹æ¾î Àοë°ú ÇÔ²² ´äº¯

HashDoS °ø°Ý¿¡ ´ëÇؼ­´Â 'À¥¼­¹ö hash table DoS(HashDoS) °ø°Ý (Áß¿ä. PHP, ASP µî ÇØ´ç)' À» Àо±â ¹Ù¶õ´Ù.

Àοë:

À¥¼­¹ö¿¡¼­´Â Request POST, GET º¯¼ö¸¦ hash ±¸Á¶·Î °ü¸®ÇÑ´Ù. ±×·±µ¥ POST ¿äû ÆĶó¹ÌÅͼö°¡ »ó´çÈ÷ ¸¹À» °æ¿ì(GET ¿äûÀº ±æÀÌ Á¦ÇÑÀÌ ÀÖÀ¸¹Ç·Î ¹®Á¦°¡ µÇÁö ¾ÊÀ½)¿¡ hash Ãæµ¹ÀÌ ¸¹ÀÌ ¹ß»ýÇÏ°Ô µÇ¾î CPU load°¡ »ó´çÈ÷ ¿Ã¶ó°¡°Ô µÈ´Ù. ÀÌ·± ¹®Á¦´Â PHP5, Asp.Net, Java, V8 ÀÚ¹Ù½ºÅ©¸³Æ® ¿£Áø µî¿¡¼­ ¹ß»ýÇÑ´Ù.


Ãë¾àÁ¡À» ÇØ°áÇϰųª °ø°ÝÀ» ¾àÈ­½ÃÅ°´Â ¹æ¹ýÀÌ´Ù.

1. php 5.4.0 RC¹öÀü°ú ¾ÕÀ¸·Î ³ª¿Ã PHP 5.3.9 ¹öÀü (Ãë¾àÁ¡ ÇØ°á)

max_input_vars ¼³Á¤À¸·Î ÆĶó¹ÌÅÍ °³¼ö¸¦ Á¦ÇÑÇÑ´Ù.

* PHP 5.3.9 Released(HashDoS ¹®Á¦ ÇØ°á ¹öÀü) (2012.1.11(¼ö) ³»¿ë ¼öÁ¤)

2. ±âÁ¸ php¹öÀü¿¡¼­ (¿Ïº®ÇÑ ÇØ°áÀÌ ¾Æ´Ñ °ø°ÝÀ» ¾àÈ­½ÃÅ°´Â ¹æ¹ý)

php.ini ¼³Á¤°ª (default)
Àοë:

max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
post_max_size = 8M


max_input_timeÀº ¿äû µ¥ÀÌÅ͸¦ ÆĽÌÇϴµ¥ °É¸®´Â ÃÖ´ë ½Ã°£ÀÌ´Ù.
max_input_timeÀ¸·Î ÆÄ½Ì ½Ã°£ Á¦ÇÑ, post_max_sizeÀ¸·Î POST »çÀÌÁ Á¦ÇÑÇÔÀ¸·Î½á ÆĶó¹ÌÅͼö¸¦ ¾î´ÀÁ¤µµ(?) Á¦ÇÑÇÏ´Â È¿°ú¸¦ °®´Â´Ù. ¿Ïº®ÇÑ ÇØ°áÀÌ ¾Æ´Ñ °ø°ÝÀ» ¾àÈ­½ÃÅ°´Â ¹æ¹ýÀÌ´Ù.

±âÁ¸¿¡ ½×¾ÆµÐ À¥·Î±×¸¦ ºÐ¼®Çؼ­

1. ½ºÅ©¸³Æ®ÀÇ ½ÇÇà ½Ã°£ÀÌ ¾ó¸¶³ª °É¸®´ÂÁö ((max_input_time ¼³Á¤À§ÇØ. À¥·Î±× ½Ã°£Àº Á¤È®È÷´Â Àü¼Û½Ã°£ + max_input_time + max_execution_time°ú °ü·Ã)
2. POST ¿äûÀÇ »çÀÌÁ ºÐ¼®ÇÑ´Ù. (post_max_size ¼³Á¤À§ÇØ)

¼öÄ¡¸¦ ÀûÀýÈ÷ ÆľÇÇÑ ÈÄ ¼­ºñ½º¿¡ ÁöÀå¾ø´Â Á¤µµ·Î Á¶ÀýÇÑ´Ù.
(¿¹ : max_input_time = 10, post_max_size = 100K)
´Ü, ÆÄÀÏÀÌ ¾÷·ÎµåµÇ´Â ¼­ºñ½º´Â POST»çÀÌÁî°¡ Å©¹Ç·Î post_max_size´Â Àû¿ëÇϱ⠾î·Æ°í, max_input_time¸¸ ¼³Á¤Çغ¼ ¼ö ÀÖ´Ù.

3. ¼öÈ£½Å(suhosin) php º¸¾È ¸ðµâ »ç¿ë (Ãë¾àÁ¡ ÇØ°á)

Àοë:

suhosin.post.max_value_length = 1000000
suhosin.post.max_vars = 500
suhosin.request.max_vars = 500


¼öÈ£½Å ¸ðµâÀ» »ç¿ëÇϸé À§ ¼³Á¤¸¸À¸·Îµµ ¹®Á¦°¡ ÇØ°áµÈ´Ù. ÃÖ´ë ÆĶó¹ÌÅÍ °³¼ö¸¦ 500°³·Î Á¦ÇÑÇÑ °æ¿ìÀÌ´Ù. default´Â 1000ÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ Â÷´ÜµÇ¾úÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

Àοë:

suhosin[95705]: ALERT - configured POST variable limit exceeded - dropped variable '..»ý·«..' (attacker 'xxx.xxx.xxx.xxx', file '/..»ý·«../index.html')


4. apache¿Í nginx¿¡¼­ POST»çÀÌÁî Á¦ÇÑ (100K·Î Á¦ÇÑÇÏ´Â ¿¹)

POST»çÀÌÁî Á¦ÇÑÀ» php¼³Á¤ ¿Ü¿¡ À¥¼­¹ö ÀÚü ¼³Á¤µµ Àû¿ëÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. À§ 2¹ø¿¡¼­ ¼³¸íÇÑ´ë·Î ±âÁ¸ À¥·Î±×¸¦ ºÐ¼®Çؼ­ ÀûÀýÇÑ POST»çÀÌÁ ÆľÇÇؼ­ Àû¿ëÇÑ´Ù.

1) apache
LimitRequestBody 100000

2) nginx (defaul´Â 1MB)
client_max_body_size 100k;

¡Ø ´ÙÀ½Àº php.iniÀÇ max_input_time ¼³Á¤À» Âø°¢ÇÏ´Â ºÐµéÀÌ ÀÖ¾î Á¤¸®Çß´Ù. (1.4(¼ö) 19½Ã)

À§¿¡¼­ ¸»ÇÑ´ë·Î, php.ini ¼³Á¤ Áß max_input_timeÀº HTTP '¿äû µ¥ÀÌÅÍ(POST, GET)¸¦ ÆĽÌÇϴµ¥ °É¸®´Â ½Ã°£'ÀÌ´Ù. 'input' À̶ó´Â ´Ü¾î°¡ µé¾î°¡±â ¶§¹®¿¡, Àü¼ÛµÇ´Â ½Ã°£À¸·Î Âø°¢ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ÇÏÁö¸¸ ¸ðµçµ¥ÀÌÅ͸¦ ´Ù ¹ÞÀº ¼ø°£ºÎÅÍ ½ÇÇà ½ÃÀÛÇϱâ±îÁöÀÇ ½Ã°£ÀÌ´Ù. Áï, ¾Æ·¡¿¡¼­ 3¹ø¿¡ ÇØ´çÇÏ´Â ±¸°£ÀÌ´Ù.

Àοë:

1) POST ¿äû -> 2) POST µ¥ÀÌÅÍ Àü¼Û -> 3) Àü¼ÛÈÄ ÆÄ½Ì -> 4) ½ÇÇà


Á¤»óÀûÀÎ ¿äûÀ̶ó¸é ÆĽÌÇϴµ¥ °É¸®´Â ½Ã°£Àº ª´Ù. ±×·¡¼­ ÀÌ ¼öÄ¡¸¦ ÁÙÀÓÀ¸·Î½á ¾î´ÀÁ¤µµÀÇ È¿°ú°¡ ÀÖ´Ù.
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ºñ¹Ð ¸Þ½ÃÁö º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹®
windofme
¼Õ´Ô





¿Ã¸®±â¿Ã·ÁÁü: 2012.3.19 ¿ù, 3:43 pm    ÁÖÁ¦: php 5.3.9¿¡ ¹ö±×°¡ Á¸Àç ÇÕ´Ï´Ù. Àοë°ú ÇÔ²² ´äº¯

php 5.3.9¹ö±×°¡ Á¸Àç ÇÕ´Ï´Ù.
5.3.10À¸·Î ÆÐÄ¡ ÇÏ¼Å¾ß ÇÏ°Ú½À´Ï´Ù.
À§·Î
ÀÌÀü ±Û Ç¥½Ã:   
±Û ¾²±â   ´äº¯ ´Þ±â    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ °Ô½ÃÆÇ À妽º -> *NIX / IT Á¤º¸ ½Ã°£´ë: GMT + 9 ½Ã°£(Çѱ¹)
ÆäÀÌÁö 1 Áß 1

 
°Ç³Ê¶Ù±â:  
»õ·Î¿î ÁÖÁ¦¸¦ ¿Ã¸± ¼ö ÀÖ½À´Ï´Ù
´ä±ÛÀ» ¿Ã¸± ¼ö ÀÖ½À´Ï´Ù
ÁÖÁ¦¸¦ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù
¿Ã¸° ±ÛÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
ÅõÇ¥¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù


Powered by phpBB © 2001, 2005 phpBB Group