¾ÅÓÎÀϸç

¾ÅÓÎÀϸç

¾ÅÓÎÀÏ¸ç¿Æ¼¼

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

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

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

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

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

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

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

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

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

    ËùÓнâ¾ö¼Æ»®

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


  • Õþ¸®

    Õþ¸®
  • ÔËÓªÉÌ

    ÔËÓªÉÌ
  • ½ðÈÚ

    ½ðÈÚ
  • ÄÜÔ´

    ÄÜÔ´
  • ½»Í¨

    ½»Í¨
  • ÆóÒµ

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

    ¿Æ½ÌÎÄÎÀ

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

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

ÏàÖúͬ°é¶¯Ì¬

³ÉΪÏàÖúͬ°é

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

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

²úÆ·Ö§³Ö

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

·µ»ØÁбí

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

2015-05-14

Ðû²¼Õߣº¾ÅÓÎÀÏ¸ç¿Æ¼¼

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

 

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

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

3     17ÈÕ£¬Îó²îÉîÈëÆÊÎö¾ÙÐÐÖС£¾ÅÓÎÀÏ¸ç¿Æ¼¼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

 

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


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

2015Äê5ÔÂ15ÈÕÒ¹£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼ÍþвÏìÓ¦ÖÐÐÄÔÚ»ñÈ¡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] = '

?

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

*ÐÕÃû
*µ¥Î»Ãû³Æ
*ÁªÏµ·½·¨
*ÑéÖ¤Âë ¾ÅÓÎÀϸ硤(Öйú)¾ãÀÖ²¿¹Ù·½ÍøÕ¾
Ìá½»µ½ÓÊÏä

¹ºÖÃÈÈÏß

  • ¹ºÖÃ×Éѯ:

    400-818-6868-1

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

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

·þÎñÖ§³Ö

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

΢²©

΢ÐÅ
΢ÐÅ

΢ÐÅ

BÕ¾
BÕ¾

BÕ¾

¶¶Òô
¶¶Òô

¶¶Òô

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

ÊÓÆµºÅ

·þÎñÈÈÏß

400-818-6868

·þÎñʱ¼ä

7*24Сʱ

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

ÍøÕ¾µØÍ¼