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£¬ÈçÏÂͼ£º


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


©¶´·ÖÎö


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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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

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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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

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


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

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


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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


×Ü ½á


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

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

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


¶«É­Æ½Ì¨»ý¼«·ÀÓùʵÑéÊÒ£¨ADLab£©


ADLab½¨Á¢ÓÚ1999Ä꣬ÊÇÖйúÄþ¾²ÐÐÒµ×îÔ罨Á¢µÄ¹¥·À¼¼ÊõÑо¿ÊµÑéÊÒÖ®Ò»£¬Î¢ÈíMAPP¼Æ»®ºËÐijÉÔ±£¬¡°ºÚȸ¹¥»÷¡±¿´·¨Ê×ÍÆÕß¡£½ØֹĿǰ£¬ADLabÒÑͨ¹ýCVEÀÛ¼ÆÐû²¼Äþ¾²Â©¶´1000Óà¸ö£¬Í¨¹ý CNVD/CNNVDÀÛ¼ÆÐû²¼Äþ¾²Â©¶´600Óà¸ö£¬Á¬Ðø±£³Ö¹ú¼ÊÍøÂçÄþ¾²ÁìÓòÒ»Á÷Ë®×¼¡£ÊµÑéÊÒÑо¿Æ«Ïòº­¸Ç²Ù×÷ϵͳÓëÓ¦ÓÃϵͳÄþ¾²Ñо¿¡¢Òƶ¯ÖÇÄÜÖÕ¶ËÄþ¾²Ñо¿¡¢ÎïÁªÍøÖÇÄÜÉ豸Äþ¾²Ñо¿¡¢WebÄþ¾²Ñо¿¡¢¹¤¿ØϵͳÄþ¾²Ñо¿¡¢ÔÆÄþ¾²Ñо¿¡£Ñо¿½á¹ûÓ¦ÓÃÓÚ²úÎïºËÐļ¼ÊõÑо¿¡¢¹ú¼ÒÖصã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨ÒµÄþ¾²·þÎñµÈ¡£