Windows DHCP ServerÔ¶³Ì´úÂëÖ´Ðзì϶·ÖÎö£¨CVE-2019-0626£©
°ä²¼¹¦·ò 2019-02-192ÔÂ12ÈÕ£¬£¬£¬£¬£¬£¬£¬Î¢Èí°ä²¼2Ô·ÝÔ¶ÈÀýÐа²È«²¼¸æ£¬£¬£¬£¬£¬£¬£¬½¨¸´Á˶à¸ö¸ßΣ·ì϶£¬£¬£¬£¬£¬£¬£¬ÆäÖÐÔ̺¬Windows DHCP ServerÔ¶³Ì´úÂëÖ´Ðзì϶CVE-2019-0626¡£¡£¡£¡£¡£¡£¡£¡£µ±¹¥»÷ÕßÏòDHCP·þÎñÆ÷·¢Ë;«ÐÄÉè¼ÆµÄÊý¾Ý°ü²¢³É¹¦ÀûÓú󣬣¬£¬£¬£¬£¬£¬¾ÍÄܹ»ÔÚDHCP·þÎñÖÐÖ´ÐÐËÁÒâ´úÂ룬£¬£¬£¬£¬£¬£¬·ì϶ӰÏìÁìÓò½Ï´ó¡£¡£¡£¡£¡£¡£¡£¡£Õë¶Ô´Ë·ì϶£¬£¬£¬£¬£¬£¬£¬8827Ì«Ñô¼¯ÍÅADLabµÚÒ»¹¦·ò¶ÔÆä½øÐÐÁ˾ßÌå·ÖÎö¡£¡£¡£¡£¡£¡£¡£¡£
·ì϶ӰÏì°æ±¾
Windows 7
Windows 8.1
Windows 10
Windows Server 2008
Windows Server 2012
Windows Server 2016
Windows Server 2019
ºÍ̸¼ò½é
´«ÊäµÄDHCPºÍ̸±¨ÎÄÐè×ñÑÒÔÏÂÌåʽ£º
DHCPÔ̺¬ºÜ¶àÀàÐ͵ÄOption£¬£¬£¬£¬£¬£¬£¬Ã¿¸öOptionÓÉType¡¢LengthºÍDataÈý¸ö×Ö¶Î×é³É¡£¡£¡£¡£¡£¡£¡£¡£
TypeȡֵÁìÓò1~255£¬£¬£¬£¬£¬£¬£¬²¿ÃÅTypeÀàÐÍÈçÏÂͼËùʾ¡£¡£¡£¡£¡£¡£¡£¡£
DHCP·þÎñÔÚ´¦ÖÃVendor Specific ÀàÐÍ£¨Type=43£©µÄOption½á¹¹´æÔÚ°²È«·ì϶¡£¡£¡£¡£¡£¡£¡£¡£Ê×ÏÈ¿´ÏÂDHCP·þÎñ·¨Ê½¶ÔOptionµÄ´¦Öùý³Ì£¬£¬£¬£¬£¬£¬£¬ ProcessMessageº¯ÊýÕÆ¹Ü´¦ÖÃÊÕµ½µÄDHCP±¨ÎÄ£¬£¬£¬£¬£¬£¬£¬Å²ÓÃExtractOptionsº¯Êý´¦ÖÃDHCPµÄOption×ֶΣ¬£¬£¬£¬£¬£¬£¬´«È뺯ÊýExtractOptionsµÄ²ÎÊý1£¨v7£©ÎªDHCP±¨ÎÄÖ¸Õ룬£¬£¬£¬£¬£¬£¬²ÎÊý3£¨*(unsigned int *)(v5 + 16)£©¶ÔÓ¦Ö¸ÕëÆ«ÒÆµØÎ»+16µÄÊý¾Ý£¬£¬£¬£¬£¬£¬£¬¼´Len×ֶΡ£¡£¡£¡£¡£¡£¡£¡£
ExtractOptionº¯ÊýÈçÏÂËùʾ¡£¡£¡£¡£¡£¡£¡£¡£ v6 = (unsigned __int64)&a1[a3 - 1];Ö¸Ïò±¨ÎÄĩβµØÎ»£»£»£»£»£»v10=a1+240;Ö¸Ïò±¨ÎÄÖÐOption½á¹¹¡£¡£¡£¡£¡£¡£¡£¡£ÔÚforÑ»·Öд¦ÖÃ·ÖÆçÀàÐ͵ÄOption½á¹¹£¬£¬£¬£¬£¬£¬£¬µ±type=43£¨Vendor Specific Information£©£¬£¬£¬£¬£¬£¬£¬´«ÈëÖ¸Õëv10ºÍÖ¸Õëv6×÷Ϊ²ÎÊý£¬£¬£¬£¬£¬£¬£¬Å²ÓÃParseVendorSpecificº¯Êý½øÐд¦Öᣡ£¡£¡£¡£¡£¡£¡£
ParseVendorSpecificº¯ÊýÄÚ²¿Å²ÓÃUncodeOptionº¯Êý¡£¡£¡£¡£¡£¡£¡£¡£UncodeOptionº¯Êý²ÎÊýa1Ö¸ÏòoptionÕØÊ¼µØÎ»£¬£¬£¬£¬£¬£¬£¬a2Ö¸Ïò±¨ÎĵÄĩβµØÎ»¡£¡£¡£¡£¡£¡£¡£¡£UncodeOptionº¯Êý´æÔÚ°²È«·ì϶£¬£¬£¬£¬£¬£¬£¬ÏÂÃæ½áºÏPOCºÍ²¹¶¡±È¶Ô½øÐзÖÎö¡£¡£¡£¡£¡£¡£¡£¡£
»ú¹ØÒ»¸öDHCP Discovery±¨ÎÄ£¬£¬£¬£¬£¬£¬£¬POCÈçÏÂËùʾ£¬£¬£¬£¬£¬£¬£¬POCÔ̺¬Á½¸övendor_specific ÀàÐ͵ÄOption½á¹¹¡£¡£¡£¡£¡£¡£¡£¡£vendor_specific1ÊǺϷ¨µÄOption½á¹¹£¬£¬£¬£¬£¬£¬£¬Lengthȡֵ0x0aµÅ×ÚDataµÄÏÖʵ³¤¶È£¨0x0a£©£¬£¬£¬£¬£¬£¬£¬vendor_specific2ÊDz»ºÏ·¨µÄOption½á¹¹£¬£¬£¬£¬£¬£¬£¬ Lengthȡֵ0x0f´óÓÚDataµÄÏÖʵ³¤¶È£¨0x0a£©¡£¡£¡£¡£¡£¡£¡£¡£
DHCP·þÎñÆ÷ÊÕµ½DiscoveryÒªÇó±¨ÎÄ£¬£¬£¬£¬£¬£¬£¬¶ÔÊý¾Ý°ü½øÐд¦Öᣡ£¡£¡£¡£¡£¡£¡£Ê×ÏÈÖ´ÐÐExtractOptions´¦ÖÃOptions£¬£¬£¬£¬£¬£¬£¬µ±´¦ÖÃvendor_specificÀàÐ͵ÄOptionʱ£¬£¬£¬£¬£¬£¬£¬½øÈëµ½ParseVendorSpecific½øÐд¦Öᣡ£¡£¡£¡£¡£¡£¡£POCÖлú¹ØÒ»¸öºÏ·¨µÄvendor_specific1£¬£¬£¬£¬£¬£¬£¬Ö÷ÕÅÊÇΪÁËÈÆ¹ý84~85ÐеÄУÑé´úÂ룬£¬£¬£¬£¬£¬£¬Ê¹·¨Ê½Ë³ÀûÖ´Ðе½ParseVendorSpecificº¯Êý¡£¡£¡£¡£¡£¡£¡£¡£
ParseVendorSpecificŲÓÃUncodeOptionº¯Êý£¬£¬£¬£¬£¬£¬£¬¾ßÌåÈçÏ£º
48ÐÐŲÓÃHeapAlloc·ÖÅä¶ÑÄڴ棬£¬£¬£¬£¬£¬£¬·ÖÅäµÄÄÚ´æ´óÓ×v13=a¡£¡£¡£¡£¡£¡£¡£¡£
²¹¶¡±È¶Ô
²¹¶¡ºóµÄ°æ±¾Ôö³¤Á˶ÔLength×ֶεÄÓÐЧÐÔÅжϡ£¡£¡£¡£¡£¡£¡£¡£



¾©¹«Íø°²±¸11010802024551ºÅ