AG¹«Ë¾

AG¹«Ë¾

AG¹«Ë¾¿Æ¼¼

  • »ù´¡ÉèÊ©Çå¾²

    »ù´¡ÉèÊ©Çå¾²
  • Êý¾ÝÇå¾²

    Êý¾ÝÇå¾²
  • ÔÆÅÌËãÇå¾²

    ÔÆÅÌËãÇå¾²
  • AIÇå¾²

    AIÇå¾²
  • ¹¤Òµ»¥ÁªÍøÇå¾²

    ¹¤Òµ»¥ÁªÍøÇå¾²
  • ÎïÁªÍøÇå¾²

    ÎïÁªÍøÇå¾²
  • ÐÅÏ¢ÊÖÒÕÓ¦ÓÃÁ¢Òì

    ÐÅÏ¢ÊÖÒÕÓ¦ÓÃÁ¢Òì
  • ËùÓвúÆ·

    ËùÓвúÆ·
  • ËùÓнâ¾ö¼Æ»®

    ËùÓнâ¾ö¼Æ»®

»ù´¡ÉèÊ©Çå¾²


  • Õþ¸®

    Õþ¸®
  • ÔËÓªÉÌ

    ÔËÓªÉÌ
  • ½ðÈÚ

    ½ðÈÚ
  • ÄÜÔ´

    ÄÜÔ´
  • ½»Í¨

    ½»Í¨
  • ÆóÒµ

    ÆóÒµ
  • ¿Æ½ÌÎÄÎÀ

    ¿Æ½ÌÎÄÎÀ

  • AG¹«Ë¾ÔÆ AG¹«Ë¾ÔÆ
  • AG¹«Ë¾ÍþвÇ鱨ÖÐÐÄNTI AG¹«Ë¾ÍþвÇ鱨ÖÐÐÄNTI
  • TechWorldÊÖÒÕ¼ÎÄ껪 TechWorldÊÖÒÕ¼ÎÄ껪
  • ±±¾©AG¹«Ë¾¹«Òæ»ù½ð»á ±±¾©AG¹«Ë¾¹«Òæ»ù½ð»á
  • ÊÖÒÕ²©¿Í ÊÖÒÕ²©¿Í
  • Àֳɰ¸Àý Àֳɰ¸Àý

ÏàÖúͬ°éÉó²é¸ü¶à >

ÏàÖúͬ°é¶¯Ì¬

³ÉΪÏàÖúͬ°é

  • AG¹«Ë¾ÔÆ AG¹«Ë¾ÔÆ
  • AG¹«Ë¾ÍþвÇ鱨ÖÐÐÄNTI AG¹«Ë¾ÍþвÇ鱨ÖÐÐÄNTI
  • TechWorldÊÖÒÕ¼ÎÄ껪 TechWorldÊÖÒÕ¼ÎÄ껪
  • ±±¾©AG¹«Ë¾¹«Òæ»ù½ð»á ±±¾©AG¹«Ë¾¹«Òæ»ù½ð»á
  • ÊÖÒÕ²©¿Í ÊÖÒÕ²©¿Í
  • Àֳɰ¸Àý Àֳɰ¸Àý

ÊÖÒÕÖ§³ÖÉó²é¸ü¶à >

²úÆ·Ö§³Ö

  • AG¹«Ë¾ÔÆ AG¹«Ë¾ÔÆ
  • AG¹«Ë¾ÍþвÇ鱨ÖÐÐÄNTI AG¹«Ë¾ÍþвÇ鱨ÖÐÐÄNTI
  • TechWorldÊÖÒÕ¼ÎÄ껪 TechWorldÊÖÒÕ¼ÎÄ껪
  • ±±¾©AG¹«Ë¾¹«Òæ»ù½ð»á ±±¾©AG¹«Ë¾¹«Òæ»ù½ð»á
  • ÊÖÒÕ²©¿Í ÊÖÒÕ²©¿Í
  • Àֳɰ¸Àý Àֳɰ¸Àý

·µ»ØÁбí

·À»¤¼Æ»®£ºPHPÔ¶³ÌDoSÎó²îÉîÈëÆÊÎö

2015-05-14

Ðû²¼ÕߣºAG¹«Ë¾¿Æ¼¼

5ÔÂ14ÈÕ £¬º£ÄÚ±¬³öphpÔ¶³ÌDoSÎó²î £¬¹Ù·½±àºÅ69364¡£Ê¹ÓøÃÎó²î½á¹¹pocÌᳫÁ´½Ó £¬ºÜÈÝÒ×µ¼ÖÂÄ¿µÄÖ÷»úcpuµÄÕ¼ÓÃÂÊ100% £¬Éæ¼°PHP¶à¸ö°æ±¾¡£AG¹«Ë¾¿Æ¼¼ÍþвÏìÓ¦ÖÐÐÄËæ¼´Æô¶¯Ó¦¼±»úÖÆ £¬ Ó¦¼±ÏìÓ¦ÊÂÇéËæ¼´Æô¶¯¡£

 

1     15ÈÕÒ¹ £¬Æô¶¯Îó²îÆÊÎöÊÂÇé £¬Í¬²½½«ÆÊÎöЧ¹û·¢ËͲúÆ·ÍŶÓ£»

2     16ÈÕ £¬Ðû²¼²úÆ·¹æÔòÉý¼¶Í¨¸æ £¬AG¹«Ë¾¿Æ¼¼RSAS²úÆ·Éý¼¶Ïà¼ÌÍ£µ± £¬¿Í»§Í¨¹ýÔÚÏß¼°ÀëÏßÉý¼¶µÄÒªÁì £¬¼´¿É»ñµÃÎó²îµÄ¼ì²âÄÜÁ¦£»Í¬Ê± £¬ÔÚÏßÎó²î¼ì²âÒýÇæÍ£µ±£»

3     17ÈÕ £¬Îó²îÉîÈëÆÊÎö¾ÙÐÐÖС£AG¹«Ë¾¿Æ¼¼NIPS²úÆ·Éý¼¶Í£µ± £¬¿Í»§Í¨¹ýÔÚÏß¼°ÀëÏßÉý¼¶µÄÒªÁì £¬¼´¿É»ñµÃÎó²îµÄ·À»¤ÄÜÁ¦£»

4     18ÈÕ £¬ÎÒÃÇ»ØÊ×´Ë´ÎPHPÎó²îµÄÐÅÏ¢Òªµã £¬´ÓPHPÎó²î·À»¤µÄ½Ç¶È¾ÙÐÐ×ܽá £¬Îª¸÷ÈËÖÆ¶©·ÀÓù¼Æ»®ÌṩÔö²¹ÐÅÏ¢¡£

 

PHPÔ¶³ÌDoSÎó²î

4ÔÂ3ÈÕ £¬ÓÐÈËÔÚPHP¹ÙÍøÌá½»PHP Ô¶³ÌDoSÎó²î£¨PHP Multipart/form-data remote dos Vulnerability£© £¬´úºÅ69364[1]¡£ÓÉÓÚ¸ÃÎó²îÉæ¼°PHPµÄËùÓа汾 £¬¹ÊÆäÓ°ÏìÃæ½Ï´ó £¬Ò»¾­Ðû²¼Ñ¸ËÙÒý·¢¶à·½Ãæ¹Ø×¢¡£14ÈÕ £¬ÖÖÖÖPoCÒѾ­ÔÚÍøÂçÉÏÈö²¥¡£´Ë´ÎÎó²î¾ß±¸ÈçÏÂÌØÕ÷£º

1.          Ò»µ©±»Ê¹ÓÃÀÖ³É £¬¿ÉÒÔÔÚѸËÙÏûºÄ±»¹¥»÷Ö÷»úµÄCPU×ÊÔ´ £¬´Ó¶øµÖ´ïDoSµÄÄ¿µÄ£»

2.          PHPÔÚÈ«ÇòµÄ°²ÅÅÁ¿Ï൱´ó £¬Îª¹¥»÷ÕßÌṩÁËÏ൱¶à¿ÉÒÔ¹¥»÷µÄÄ¿µÄ£»

3.          PHP¹Ù·½ÏÖÔÚ½ö¸ø³öÁË5.4¼°5.5°æ±¾µÄ²¹¶¡

 

ÊÜ´ËÎó²îÓ°ÏìµÄÈí¼þ¼°ÏµÍ³°üÀ¨PHPµÄÈçϰ汾¡£

?             PHP 5.0.0 - 5.0.5

?             PHP 5.1.0 - 5.1.6

?             PHP 5.2.0 - 5.2.17

?             PHP 5.3.0 - 5.3.29

?             PHP 5.4.0 - 5.4.40

?             PHP 5.5.0 - 5.5.24

?             PHP 5.6.0 - 5.6.8

 

AG¹«Ë¾¿Æ¼¼ÖÕÄêÇ×½ü¹Ø×¢PHPµÄÇå¾²ÎÊÌâ¡£AG¹«Ë¾¿Æ¼¼ÍþвÏìÓ¦ÖÐÐÄÔÚ»ñÖªÏà¹ØÐÅÏ¢ºó £¬Ëæ¼´Æô¶¯Ó¦¼±»úÖÆ £¬Ïà¹ØÊÂÇéËæ¼´Æô¶¯¡£±¾ÎÄÕ½«»áÉîÈëÆÊÎö¸ÃÎó²î £¬²¢¸ø³öÓ¦¶Ô¼Æ»®¡£


PHPÔ¶³ÌDoSÎó²îÆÊÎö

2015Äê5ÔÂ15ÈÕÒ¹ £¬AG¹«Ë¾¿Æ¼¼ÍþвÏìÓ¦ÖÐÐÄÔÚ»ñÈ¡PHPÎó²îÈö²¥ÇéÐεÄͬʱ £¬Ò²ÔÚ¾ÙÐÐÎó²îµÄÆÊÎöÊÂÇé £¬Í¨¹ýÖØÏÖÎó²îµÄ¹¥»÷Àú³Ì £¬ÆÊÎöÆäÊÂÇéÔ­Àí £¬µÃÒÔÇåÎúʶ±ð¼°¼ì²â¸ÃÎó²îÒªÁì¡£


BoundaryÖеļüÖµ¶ÔÍÑÀë

PHPÊÇÒ»ÖÖÊ¢ÐеÄWeb·þÎñÆ÷¶Ë±à³ÌÓïÑÔ £¬Ëü¹¦Ð§Ç¿Ê¢ £¬¼òÆÓÒ×Óà £¬Ê¹ÓÃËü±àÐ´ÍøÂçÓ¦ÓóÌÐò £¬¿ÉÒÔÓ¦¶Ô´ó¹æÄ£µÄHttpÇëÇó £¬ÒÔÊÇÐí¶àÓªÒµÇéÐÎÖж¼°²ÅÅÁËPHP¡£Ë¼Á¿¹æ·¶ÐÔ £¬PHPÔÚÉè¼ÆÖ®³õ¾Í×ñÕÕrfc¹æ·¶ £¬¾ÙÐи÷¸öЭÒéÄ£¿éµÄ·â×°¼°Àú³Ì´¦Öóͷ£¡£PHPÓëÆäËûͬÑù×ñÕÕrfc¹æ·¶µÄÓïÑÔ¼°ÇéÐÎÏà±È £¬²»¹ýÊÇ´¦Öóͷ£·½·¨²î±ð¡£

¶ø´Órfc1867[2]×îÏÈ £¬httpЭÒé×îÏÈÖ§³Ö"multipart/form-data"ÇëÇó £¬ÒÔ±ã½ÓÊܶàÖÖÊý¾ÝÃûÌà £¬°üÀ¨¶àÖÖ±äÁ¿ÉõÖÁÊÇÎļþÉÏ´«¡£multipart/form-dataÖпÉÒÔ°üÀ¨¶à¸ö±¨ÎÄ £¬Ã¿Ò»¸ö±¨ÎÄboundary£¨ÍÑÀë·û£©ÍÑÀ뿪À´ £¬¶øÃ¿¸ö±¨ÎÄÖж¼°üÀ¨Á˶àÐмüÖµ¶Ô £¬¼üÖµ¶ÔÓÃðºÅÍÑÀë £¬ÕâÑùµÄÉè¼ÆÊÇΪÁËÈóÌÐò¿ÉÒÔÇåÎúµÄÇø·ÖÕâЩÊý¾Ý¡£

 

Boundary

¼ü1

£º

Öµ1

Boundary

¼ü2

£º

Öµ2

 

µ«ÈôÊÇÓÉÓÚijÖÖÔµ¹ÊÔ­ÓÉ £¬¼üÖµÖÐÐÄȱÉÙÁËË­ÈËðºÅ £¬PHPº¯Êý»á½«ÏÂÒ»¶Ô¼üÖµºÏ²¢µ½ÁËÉÏÒ»ÐÐ £¬ÐγÉÕâÑùµÄ¼üÖµ¶Ô £¬¡°¼ü1£ºÖµ1¼ü2Öµ2¡±¡£ÓÉÓÚPHP¾ÙÐмüÖµºÏ²¢µÄËã·¨²»·óÓÅ»¯ £¬ÕâÑùµÄÊÂÇ鱬·¢Ò»ÔÙ»¹Ã»Ê²Ã´ £¬ÈôÊÇÊýÒÔ°ÙÍò¼Ç £¬¾ÍÄð³ÉÁËÒ»ÖÖÔÖÄÑ¡£

ÔÚÏÂÃæµÄÀý×ÓÖÐ £¬µ±aµÄ²¿·ÖµÖ´ïÒ»¶¨ÃüÄ¿µÄʱ¼ä£¨¼¸Ê®ÍòÐÐorÉϰÙÍòÐУ© £¬ÓÉÓÚÿÐмüÓëÖµÖ®¼ä²¢Ã»ÓÐðºÅÍÑÀë £¬º¯Êý¾Í×Ô¶¯½«ÏÂÒ»ÐеļüÖµ¶ÔºÏ²¢ £¬ÕâÑùÊý¾ÝÔ½À´Ô½´ó £¬Ô½À´Ô½³¤ £¬º¯ÊýÕë¶ÔÕâЩÊý¾ÝÒ»Ö±Ö´ÐÐÄÚ´æµÄ·ÖÅɺÍÊÍ·Å £¬×îÖÕ±»¹¥»÷Ä¿µÄÖ÷»úµÄCPU×ÊÔ´±»ºÄ¾¡¡£

1          ------WebKitFormBoundarypE33TmSNWwsMphqz

2          Content-Disposition: form-data; name="file"; filename="s

3          a

4          a

5          a

6          a"

7          Content-Type: application/octet-stream

8           

9         

10       ------WebKitFormBoundarypE33TmSNWwsMphqz*

*×¢£ºPHPÖÐ £¬BoundaryÊÇ¿ÉÒÔ×Ô½ç˵µÄ £¬ºÃ±È¡°-----WebKitFormBoundarypE33TmSNWwsMphqz¡±

 

ÕâÑùµÄ´úÂë £¬ÔÚ×¥°üʱÏÔʾÇéÐÎÈçÏ£º

Boundary±¨ÎÄ×¥°ü


Boundary±¨ÎÄÆÊÎöÀú³Ì

PHPÔÚmain/rfc1867.cÖÐ £¬ÓÐÁ½¸öº¯Êý¶¼Éæ¼°boundaryµÄÆÊÎö £¬°üÀ¨SAPI_API SAPI_POST_HANDLER_FUNC¼°multipart_buffer_headersº¯Êý¡£DoSÎó²î·ºÆðÔÚmain/rfc46675pxultipart_buffer_headersº¯Êý¡£

PHPÏÈÆÊÎöÆÊÎömultipart/form-data httpÇëÇó £¬ httpÇëÇóÌåµÄÈë¿Úº¯ÊýÔÚSAPI_POST_HANDLER_FUNC£¨rfc1867.cÖеĺ¯Êý£© £¬SAPI_POST_HANDLER_FUNCº¯ÊýÊ×ÏÈÆÊÎöÇëÇóµÄboundary £¬Ò²¾ÍÊÇPOSTÇëÇóÖеÚÒ»´Î½ç˵ʱµÄboundary£»²¢ÇÒÔÚÆäÄÚ²¿Å²ÓÃÁËmultipart_buffer_headers £¬¸Ãº¯ÊýÏÈÕÒµ½boundary£¨Ò²¾ÍÊÇÒ»´ÎÒýÓõÄboundary£© £¬»áºÍ½ç˵ʱµÄboundary½ÏÁ¿¡£ÈôÊÇÏàµÈ¼´ÕÒµ½µÚÒ»´ÎÒýÓõÄboundary £¬½ÓÏÂÀ´»áÖðÐжÁÈ¡ÇëÇóµÄÊäÈëÒÔÆÊÎöbody port header£¨Ò²¾ÍÊÇÆÊÎöµÚÒ»´ÎÒýÓÃboundaryºóÃæµÄÄÚÈÝ£©¡£


SAPI_API SAPI_POST_HANDLER_FUNC

1                  /* Get the boundary */

2                  /* ×îÏÈÆÊÎöboundary */

3                  boundary = strstr(content_type_dup "boundary");

4                  if (!boundary) {

5                          int content_type_len = strlen(content_type_dup);

6                          char *content_type_lcase = estrndup(content_type_dup content_type_len);

7           

8                          php_strtolower(content_type_lcase content_type_len);

9                          boundary = strstr(content_type_lcase "boundary");

10                       if (boundary) {

11                               boundary = content_type_dup + (boundary - content_type_lcase);

12                       }

13                       efree(content_type_lcase);

14               }

15        

16               if (!boundary || !(boundary = strchr(boundary '='))) {

17                       sapi_module.sapi_error(E_WARNING "Missing boundary in multipart/form-data POST data");

18                       return;

19               }

20        

21               boundary++;

22               boundary_len = strlen(boundary);

23        

24               /* ¶Ôbondary¾ÙÐÐÕýµ±Ð£Ñé */

25               if (boundary[0] == '"') {

26                       boundary++;

27                       boundary_end = strchr(boundary '"');

28                       if (!boundary_end) {

29                               sapi_module.sapi_error(E_WARNING "Invalid boundary in multipart/form-data POST data");

30                               return;

31                       }

32               } else {

33                       /* search for the end of the boundary */

34                       boundary_end = strpbrk(boundary ";");

35               }

36               if (boundary_end) {

37                       boundary_end[0] = '

?

ÄúµÄÁªÏµ·½·¨

*ÐÕÃû
*µ¥Î»Ãû³Æ
*ÁªÏµ·½·¨
*ÑéÖ¤Âë AG¹«Ë¾(Öйú¼¯ÍÅ)¡¤ÓÐÏÞ¹«Ë¾¹ÙÍø
Ìá½»µ½ÓÊÏä

¹ºÖÃÈÈÏß

  • ¹ºÖÃ×Éѯ:

    400-818-6868-1

Ìá½»ÏîÄ¿ÐèÇó

½Ó´ý¼ÓÈëAG¹«Ë¾¿Æ¼¼ £¬³ÉΪÎÒÃǵÄÏàÖúͬ°é£¡
  • *ÇëÐÎòÄúµÄÐèÇó
  • *×îÖÕ¿Í»§Ãû³Æ
  • *ÏîÄ¿Ãû³Æ
  • Äú¸ÐÐËȤµÄ²úÆ·
  • ÏîĿԤËã
ÄúµÄÁªÏµ·½·¨
  • *ÐÕÃû
  • *ÁªÏµµç»°
  • *ÓÊÏä
  • *Ö°Îñ
  • *¹«Ë¾
  • *¶¼»á
  • *ÐÐÒµ
  • *ÑéÖ¤Âë AG¹«Ë¾(Öйú¼¯ÍÅ)¡¤ÓÐÏÞ¹«Ë¾¹ÙÍø
  • Ìá½»µ½ÓÊÏä

·þÎñÖ§³Ö

ÖÇÄܿͷþ
ÖÇÄܿͷþ
¹ºÖÃ/ÊÛºóÊÖÒÕÎÊÌâ
Ã˹ܼÒ-ÊÛºó·þÎñϵͳ
Ã˹ܼÒ-ÊÛºó·þÎñϵͳ
ÔÚÏßÌáµ¥|ÖÇÄÜÎÊ´ð|֪ʶ¿â
Ö§³ÖÈÈÏß
Ö§³ÖÈÈÏß
400-818-6868
AG¹«Ë¾¿Æ¼¼ÉçÇø
AG¹«Ë¾¿Æ¼¼ÉçÇø
×ÊÁÏÏÂÔØ|ÔÚÏßÎÊ´ð|ÊÖÒÕ½»Á÷
΢²©
΢²©

΢²©

΢ÐÅ
΢ÐÅ

΢ÐÅ

BÕ¾
BÕ¾

BÕ¾

¶¶Òô
¶¶Òô

¶¶Òô

ÊÓÆµºÅ
ÊÓÆµºÅ

ÊÓÆµºÅ

·þÎñÈÈÏß

400-818-6868

·þÎñʱ¼ä

7*24Сʱ

? 2026 NSFOCUS AG¹«Ë¾¿Æ¼¼ www.nsfocus.com All Rights Reserved . ¾©¹«Íø°²±¸ 11010802021605ºÅ ¾©ICP±¸14004349ºÅ ¾©ICPÖ¤110355ºÅ

ÍøÕ¾µØÍ¼