ThinkPHP6ËÁÒâÎļþ²Ù×÷·ì϶·ÖÎö

°ä²¼¹¦·ò 2020-01-14


2020Äê1ÔÂ10ÈÕ£¬£¬ThinkPHPÍŶӰ䲼һ¸ö²¹¶¡¸üУ¬£¬ÐÞ¸´ÁËÒ»´¦Óɲ»°²È«µÄSessionIdµ¼ÖµÄËÁÒâÎļþ²Ù×÷·ì϶¡£¸Ã·ì϶ÔÊÐí¹¥»÷ÕßÔÚÖ¸±ê»·¾³ÆôÓÃsessionµÄǰÌáÏ´´½¨ËÁÒâÎļþÒÔ¼°É¾³ýËÁÒâÎļþ£¬£¬ÔÚÌØ¶¨Çé¿öÏ»¹Äܹ»getshell¡£

¾ßÌåÊÜÓ°Ïì°æ±¾ÎªThinkPHP6.0.0-6.0.1¡£


·ì϶¸´ÏÖ


±¾µØ»·¾³Ñ¡È¡ThinkPHP 6.0.1+PHP7.1.20+Apache½øÐи´ÏÖ¡£ÔÚÌØ¶¨Çé¿öÏÂÖ´ÐвâÊÔÑéÖ¤·¨Ê½¼´¿ÉдÈëÒ»¸öwebshell£¬£¬ÈçÏÂͼ£º£º£º


OG¶«·½Ìü¡¤(Öйú´ó½)


OG¶«·½Ìü¡¤(Öйú´ó½)


·ì϶·ÖÎö


ƾ¾Ý¹Ù·½githubµÄcommit£º£º£ºhttps://github.com/top-think/framework/commit/1bbe75019ce6c8e0101a6ef73706217e406439f2¡£


OG¶«·½Ìü¡¤(Öйú´ó½)


Òò¶ø´§Ä¦£¬£¬¿ÉÄÜÊÇÔÚ´æ´¢sessionʱµ¼ÖµÄÎļþдÈë¡£¶øºó£¬£¬¸ú×Ù£º£º£ºvendor/topthink/framework/src/think/session/Store.php:254¡£


OG¶«·½Ìü¡¤(Öйú´ó½)


ÕâÀïŲÓÃÁËÒ»¸öwriteº¯Êý£¬£¬¸ú½øÒ»Ï£º£º£ºvendor/topthink/framework/src/think/session/driver/File.php:210¡£


OG¶«·½Ìü¡¤(Öйú´ó½)


ŲÓÃwriteFileº¯Êý£¬£¬¸úÈ룺£º£º


OG¶«·½Ìü¡¤(Öйú´ó½)


¾ÓÈ»ÊÇдÈëÎļþµÄ²Ù×÷¡£

³ÖÐø·´Ïò¿´Ò»ÏÂÎļþÃûÊÇ·ñ¿É¿Ø£¬£¬¸ÃÎļþÃûÀ´×ÔÓÚ×îÆðÍ·µÄgetId()µÃµ½µÄ$sessionIdµÄÖµ¡£¼ÈÈ»ÓÐgetId£¬£¬¾Í»áÓÐsetId£¬£¬¿´Ò»Ïº¯ÊýÄÚÈÝ£º£º£º


OG¶«·½Ìü¡¤(Öйú´ó½)


µ±´«ÈëµÄ²ÎÊý$idÂú×ã32λµÄ³¤¶Èʱ£¬£¬¾Í½«¸ÃÖµÉèΪ$this->id¡£Å²ÓÃsetIdµÄ´¦ËùΪ£º£º£ºvendor/topthink/framework/src/think/middleware/SessionInit.php:46¡£


OG¶«·½Ìü¡¤(Öйú´ó½)


ÕâÀïµÄ$cookieNameµÄÖµÊÇPHPSESSID¡£


OG¶«·½Ìü¡¤(Öйú´ó½)


¶ø$sessionIdÊÇcookieÖÐÃûΪPHPSESSIDµÄÖµ£¬£¬Òò¶øÊǹ¥»÷Õ߿ɿص쬣¬´Ó¶øµ¼ÖÂдÈëµÄÎļþÃû¿É¿Ø¡£

дÈëµÄÎļþÃû¿É¿Ø£¬£¬ÄÇôдÈëµÄÄÚÈÝÊÇ·ñ¿É¿ØÄØ£¿£¿·ÖÎö·¢ÏÖ£¬£¬Ð´ÈëµÄÄÚÈݾÍÊÇ´´½¨sessionʹÓõÄÄÚÈÝ¡£µ«ÊÇsessionµÄ´´½¨ÊÇÓÉÏÖʵµÄºó¶ËÒµÎñÂß¼­À´¾ö¶¨µÄ£¬£¬¶øÄ¬ÈÏ»·¾³Ï²¢Ã»Óд´½¨session¡£Òò¶ø£¬£¬Ä¬ÈÏ»·¾³ÏÂÎÞ·¨×öµ½ËÁÒâÎļþдÈë¡£


ÔڶԸ÷ì϶µÄÉî¿Ì·ÖÎö¹ý³ÌÖУ¬£¬ÎÒÃÇ·¢Ïָ÷ì϶»¹Äܹ»ÊµÏÖËÁÒâÎļþɾ³ý£¬£¬ÇÒÎļþɾ³ý¶Ôºó¶ËÒµÎñÂß¼­ÒÀÀµ½ÏµÍ¡£

»¹ÊÇÔÚ vendor/topthink/framework/src/think/session/Store.php:254ÖУº£º£º


OG¶«·½Ìü¡¤(Öйú´ó½)


ͨ¹ý¶ÈÎöÑéÖ¤£¬£¬ÎÒÃÇ·¢ÏÖ·ì϶£¨ÈçÉÏͼ£©»¹Äܵ¼ÖÂËÁÒâÎļþɾ³ý¡£


×Ü ½á


ÔÚÖ¸±ê»·¾³ÎªWindowsÇÒ¿ªÆôsessionµÄÇé¿öÏ£¬£¬ÈÝÒ×Ôâ·êËÁÒâÎļþɾ³ý¹¥»÷¡£

ÔÚÖ¸±ê»·¾³¿ªÆôsessionÇÒдÈëµÄsession¿É¿ØµÄÇé¿öÏ£¬£¬ÈÝÒ×Ôâ·êËÁÒâÎļþдÈë¹¥»÷¡£

½¨ÒéÓйØÓû§ÊµÊ±Éý¼¶µ½ThinkPHP6.0.2°æ±¾£¬£¬ÒÔÃâÔâ·ê¹¥»÷¡£


OG¶«·½Ìü»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©


ADLab³ÉÁ¢ÓÚ1999Ä꣬£¬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò»£¬£¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ±£¬£¬¡°ºÚȸ¹¥»÷¡±¸ÅÄîÊ×ÍÆÕß¡£½ØÖ¹Ä¿Ç°£¬£¬ADLabÒÑͨ¹ýCVEÀۼư䲼°²È«·ì϶1000Óà¸ö£¬£¬Í¨¹ý CNVD/CNNVDÀۼư䲼°²È«·ì϶600Óà¸ö£¬£¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼¡£³¢ÊÔÊÒ×êÑз½Ïòº­¸Ç²Ù×÷ϵͳÓëÀûÓÃϵͳ°²È«×êÑС¢¡¢¡¢Òƶ¯ÖÇÄÜÖն˰²È«×êÑС¢¡¢¡¢ÎïÁªÍøÖÇÄÜÉ豸°²È«×êÑС¢¡¢¡¢Web°²È«×êÑС¢¡¢¡¢¹¤¿ØÏµÍ³°²È«×êÑС¢¡¢¡¢Ôư²È«×êÑС£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑС¢¡¢¡¢¹ú¶ÈÖØµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢¡¢¡¢×¨Òµ°²È«·þÎñµÈ¡£