TCP/IPЭÒéջϵÁÐÎó²î£¨NAME:WRECK£©ÆÊÎö

Ðû²¼Ê±¼ä 2021-04-25

Îó²î¸ÅÊö


2021Äê04ÔÂ13ÈÕ£¬£¬ £¬£¬£¬ £¬£¬FourscoreÑо¿ÊµÑéÊÒÓëJSOFÏàÖú£¬£¬ £¬£¬£¬ £¬£¬Åû¶ÁËÒ»×éеÄDNSÎó²î£¬£¬ £¬£¬£¬ £¬£¬±»³ÆÎªNAME:WRECK¡£¡£¡£¡£ÕâЩÎó²îÓ°ÏìÁËËÄÖÖÊ¢ÐеÄTCP/IP¿ÍÕ»--¼´FreeBSD¡¢IPnet¡¢Nucleus NETºÍNetX£¬£¬ £¬£¬£¬ £¬£¬ËüÃÇÆÕ±é±£´æÓÚ×ÅÃûµÄITÈí¼þºÍÊ¢ÐеÄIOT/OT¹Ì¼þÖУ¬£¬ £¬£¬£¬ £¬£¬²¢ÓпÉÄÜÓ°ÏìÈ«ÇòÊý°ÙÍòµÄÎïÁªÍø×°±¸¡£¡£¡£¡£¹¥»÷Õß¿ÉÒÔʹÓÃÕâЩÎó²îʹÊÜÓ°ÏìµÄ×°±¸ÍÑ»ú»ò¶Ô×°±¸¾ÙÐпØÖÆ¡£¡£¡£¡£


Ïà¹ØÏÈÈÝ


1¡¢DNSЭÒé֮ѹËõÖ¸Õë


ÔÚ֮ǰµÄÎÄÕÂÖУ¬£¬ £¬£¬£¬ £¬£¬ÎÒÃÇÏÈÈÝÁË»ù´¡µÄDNSЭÒ飬£¬ £¬£¬£¬ £¬£¬ÆäÖÐÓòÃûÊÇÓÉÒ»Á¬´®µÄlabel×é³ÉµÄ£¬£¬ £¬£¬£¬ £¬£¬ÈçÏÂͼËùʾ:


1.png


ÆäÖкì¿òËùʾΪÿ¸ölabelµÄ³¤¶È£¬£¬ £¬£¬£¬ £¬£¬Ã¿¸ölabel×Ϊ63×Ö½Ú£¬£¬ £¬£¬£¬ £¬£¬²¢ÇÒ´¦Öóͷ£µÄʱ¼ä£¬£¬ £¬£¬£¬ £¬£¬³ýÁ˵ÚÒ»¸ö³¤¶È×Ö½Ú£¬£¬ £¬£¬£¬ £¬£¬½«Ã¿¸ö³¤¶È×Ö½ÚÌæ»»Îª¡±.¡±£¬£¬ £¬£¬£¬ £¬£¬×îºóÓöµ½null×Ö½Ú¿¢Ê£¬£¬ £¬£¬£¬ £¬£¬´Ó¶ø×é³ÉÁË×îºóµÄÓòÃû¡£¡£¡£¡£


²»¹ýÔÚһЩ»Ø¸´°üÖУ¬£¬ £¬£¬£¬ £¬£¬»á°üÀ¨¶à´ÎA¼Í¼»òCNAME¼Í¼£¬£¬ £¬£¬£¬ £¬£¬Õâ¾ÍÔì³ÉÁËDNSÊý¾Ý¹ýÓÚÈß³¤£¬£¬ £¬£¬£¬ £¬£¬Òò´ËDNSЭÒéµÄÉè¼ÆÕßÉè¼Æ³öÁËѹËõÖ¸Õë¡£¡£¡£¡£ÔÚѹËõÖ¸ÕëµÄ»úÖÆÖУ¬£¬ £¬£¬£¬ £¬£¬Í¨¹ýÖ¸ÕëÖ¸Ïò֮ǰ·ºÆð¹ýµÄÒ»Á¬´®label´Ó¶øµÖ´ïѹËõµÄÄ¿µÄ¡£¡£¡£¡£Õâ¸öÖ¸ÕëÓÉÁ½¸ö×Ö½Ú×é³É£¬£¬ £¬£¬£¬ £¬£¬µÚÒ»¸ö×Ö½ÚµÄǰÁ½¸öbitsΪ11£¬£¬ £¬£¬£¬ £¬£¬ºóÃæ14¸öbitsÎªÆ«ÒÆµØµã¡£¡£¡£¡£

 

2.png


ÏÂÃæ¾ÙÒ»¸öÏêϸµÄÀý×Ó£¬£¬ £¬£¬£¬ £¬£¬ÈçÏÂͼÊý¾Ý°üËùʾ£¬£¬ £¬£¬£¬ £¬£¬ºì¿òÄÚΪѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬Ö¸ÏòÆ«ÒÆ0x0cµÄλÖ㬣¬ £¬£¬£¬ £¬£¬Ò²¾ÍÊÇwww.example.comµÄ¿ªÍ·´¦¡£¡£¡£¡£


3.png


2¡¢DHCPЭÒé


 DHCP¶¯Ì¬Ö÷»úÉèÖÃЭÒ飬£¬ £¬£¬£¬ £¬£¬Ç°ÉíÊÇBOOTPЭÒ飬£¬ £¬£¬£¬ £¬£¬ÊÇÒ»¸ö¾ÖÓòÍøµÄÍøÂçЭÒ飬£¬ £¬£¬£¬ £¬£¬Ê¹ÓÃUDPЭÒéÊÂÇ飬£¬ £¬£¬£¬ £¬£¬Í¨³£±»ÓÃÓÚ¾ÖÓòÍøÇéÐΣ¬£¬ £¬£¬£¬ £¬£¬Ö÷Òª×÷ÓÃÊǼ¯ÖеØÖÎÀí¡¢·ÖÅÉIPµØµã£¬£¬ £¬£¬£¬ £¬£¬Ê¹¿Í»§¶Ë¶¯Ì¬µÄ»ñµÃIPµØµã¡¢GatewayµØµã¡¢DNSЧÀÍÆ÷µØµãµÈÐÅÏ¢£¬£¬ £¬£¬£¬ £¬£¬²¢Äܹ»ÌáÉýµØµãµÄʹÓÃÂÊ¡£¡£¡£¡£


DHCP±¨ÎĹ²ÓÐ8ÖÖ£¬£¬ £¬£¬£¬ £¬£¬»®·ÖÈçÏÂËùʾ£º

DHCPDISCOVER £º¿Í»§¶Ë×îÏÈDHCPÀú³Ì·¢Ë͵ı¨ÎÄ£¬£¬ £¬£¬£¬ £¬£¬ÊÇDHCPЭÒéµÄ×îÏÈ¡£¡£¡£¡£

DHCPOFFER£ºÐ§ÀÍÆ÷ÎüÊÕµ½DHCPDISCOVERÖ®ºó×ö³öµÄÏìÓ¦£¬£¬ £¬£¬£¬ £¬£¬°üÀ¨Á˸øÓè¿Í»§¶ËµÄIP£¨yiaddr£©¡¢¿Í»§¶ËµÄMACµØµã¡¢×âÔ¼ÓâÆÚʱ¼ä¡¢Ð§ÀÍÆ÷µÄʶ±ð·ûÒÔ¼°ÆäËûÐÅÏ¢¡£¡£¡£¡£

DHCPREQUEST£º¿Í»§¶Ë¹ØÓÚЧÀÍÆ÷·¢³öµÄDHCPOFFERËù×ö³öµÄÏìÓ¦¡£¡£¡£¡£ÔÚÐøÔ¼×âÆÚµÄʱ¼äͬÑù»áʹÓᣡ£¡£¡£

DHCPACK£ºÐ§ÀÍÆ÷ÔÚÎüÊÕµ½¿Í»§¶Ë·¢À´µÄDHCPREQUESTÖ®ºó·¢³öµÄÀÖ³ÉÈ·Èϵı¨ÎÄ¡£¡£¡£¡£ÔÚ½¨ÉèÅþÁ¬µÄʱ¼ä£¬£¬ £¬£¬£¬ £¬£¬¿Í»§¶ËÔÚÎüÊÕµ½Õâ¸ö±¨ÎÄÖ®ºó²Å»áÈ·ÈÏ·ÖÅɸøËüµÄIPºÍÆäËûÐÅÏ¢¿ÉÒÔ±»ÔÊÐíʹÓᣡ£¡£¡£

DHCPNAK£ºDHCPACKµÄÏà·´µÄ±¨ÎÄ£¬£¬ £¬£¬£¬ £¬£¬ÌåÏÖЧÀÍÆ÷¾Ü¾øÁ˿ͻ§¶ËµÄÇëÇ󡣡£¡£¡£

DHCPRELEASE£ºÒ»Ñùƽ³£·ºÆðÔÚ¿Í»§¶Ë¹Ø»ú¡¢ÏÂÏßµÈ״̬¡£¡£¡£¡£Õâ¸ö±¨ÎĽ«»áʹDHCPЧÀÍÆ÷ÊÍ·Å·¢³ö´Ë±¨ÎĵĿͻ§¶ËµÄIPµØµã¡£¡£¡£¡£

DHCPINFORM£º¿Í»§¶Ë·¢³öÏòЧÀÍÆ÷ÇëÇóһЩÐÅÏ¢µÄ±¨ÎÄ¡£¡£¡£¡£

DHCPDECLINE£ºµ±¿Í»§¶Ë·¢Ã÷ЧÀÍÆ÷·ÖÅɵÄIPµØµãÎÞ·¨Ê¹Óã¨ÈçIPµØµã³åͻʱ£©£¬£¬ £¬£¬£¬ £¬£¬½«·¢³ö´Ë±¨ÎÄ£¬£¬ £¬£¬£¬ £¬£¬Í¨ÖªÐ§ÀÍÆ÷եȡʹÓøÃIPµØµã¡£¡£¡£¡£


DHCPÊý¾Ý°ü·¢ËÍÀú³Ì£¬£¬ £¬£¬£¬ £¬£¬ÈçÏÂͼËùʾ£º


4.png


DHCP±¨ÎÄÃûÌÃÈçÏÂͼËùʾ£º


5.png


²¿·ÖÊý¾ÝÓò½ç˵£¬£¬ £¬£¬£¬ £¬£¬ÈçÏÂËùʾ£º


xid£ºËæ»úÌìÉúµÄÒ»¶Î×Ö·û´®£¬£¬ £¬£¬£¬ £¬£¬Á½¸öÊý¾Ý°üÓµÓÐÏàͬµÄxid˵Ã÷ËûÃÇÊôÓÚͳһ´Î»á»°¡£¡£¡£¡£

ciaddr£º¿Í»§¶Ë»áÔÚ·¢ËÍÇëÇóʱ½«×Ô¼ºµÄIP·ÅÔÚ´Ë´¦¡£¡£¡£¡£

yiaddr£ºÐ§ÀÍÆ÷»á½«ÏëÒª·ÖÅɸø¿Í»§¶ËµÄIP·ÅÔÚ´Ë´¦¡£¡£¡£¡£

siaddr£ºÖ¸µ¼³ÌÐòÖÐʹÓõÄÏÂÒ»¸öЧÀÍÆ÷µÄIPµØµã£»£»£»£»£»£»£»ÓÉЧÀÍÆ÷ÔÚDHCPOFFER£¬£¬ £¬£¬£¬ £¬£¬DHCPACKÖзµ»Ø¡£¡£¡£¡£

chaddr£º¿Í»§¶ËµÄMACµØµã¡£¡£¡£¡£

giaddr£ºÈôÊÇÐèÒª¿ç×ÓÍø¾ÙÐÐDHCPµØµã·¢·Å£¬£¬ £¬£¬£¬ £¬£¬ÔòÔÚ´Ë´¦ÌîÈë¾­ÓɵÄ·ÓÉÆ÷µÄIPµØµã¡£¡£¡£¡£

sname£ºÐ§ÀÍÆ÷Ö÷ÓòÃû¡£¡£¡£¡£

options£º¿ÉÒÔ×ÔÓÉÌí¼ÓµÄ²¿·Ö£¬£¬ £¬£¬£¬ £¬£¬ÓÃÓÚ´æ·Å¿Í»§¶ËÏòЧÀÍÆ÷ÇëÇóÐÅÏ¢ºÍЧÀÍÆ÷µÄÓ¦´ðÐÅÏ¢¡£¡£¡£¡£


DHCPÓòËÑË÷Ñ¡Ï£¬ £¬£¬£¬ £¬£¬¸ÃÑ¡Ïî´ÓDHCPЧÀÍÆ÷ת´ïµ½DHCP¿Í»§¶Ë£¬£¬ £¬£¬£¬ £¬£¬ÒÔÖ¸¶¨ÔÚʹÓÃDNSÆÊÎöÖ÷»úÃûʱʹÓõÄÓòËÑË÷Áбí¡£¡£¡£¡£¸ÃÑ¡ÏîµÄ´úÂëΪ119£¬£¬ £¬£¬£¬ £¬£¬ÃûÌÃÈçÏÂͼËùʾ£º


6.png


 ¾Ù¸öÀý×Ó£¬£¬ £¬£¬£¬ £¬£¬ÏÂͼÊÇ¡°eng.apple.com¡±ºÍ¡°marketing.apple.com¡±×é³ÉµÄËÑË÷ÁбíµÄʾÀý±àÂ룺


7.png


¸ÃʾÀý±àÂëÒÑ·ÖΪÈý¸ö¡°ÓòËÑË÷Ñ¡Ï¡£¡£¡£¡£ÔÚ¿Í»§¶ËÆÊÎö֮ǰ£¬£¬ £¬£¬£¬ £¬£¬ËùÓÐÓòËÑË÷Ñ¡ÏîÔÚÂß¼­É϶¼´®Áªµ½Ò»¸öÊý¾Ý¿éÖС£¡£¡£¡£ÒÔµÚÒ»¸ö¡°ÓòËÑË÷Ñ¡ÏΪÀý£¬£¬ £¬£¬£¬ £¬£¬µÚÒ»¸ö×Ö½ÚΪ119£¬£¬ £¬£¬£¬ £¬£¬µÚ¶þ¸ö×Ö½ÚΪ9£¬£¬ £¬£¬£¬ £¬£¬ÌåÏÖºóÃæSearchstringµÄ³¤¶È£¬£¬ £¬£¬£¬ £¬£¬Ê£ÏµÄÊý¾Ý¾ùΪSearchstring¡£¡£¡£¡£ÕâÈý¸ö¡°ÓòËÑË÷Ñ¡ÏµÄSearchstring×éºÏ³ÉÒ»¸öÍêÕû¾ÛºÏ¿é£¬£¬ £¬£¬£¬ £¬£¬¿ÉÌåÏÖΪ£º

|3|¡¯e¡¯|¡¯n¡¯|¡¯g¡¯|5|¡¯a|¡¯p¡¯|¡¯p|¡¯l¡¯|¡¯e¡¯|3|¡¯c¡¯|¡¯o¡¯|¡¯m¡¯|0|9|¡¯m¡¯|¡¯a¡¯|¡¯r¡¯|¡¯k¡¯|¡¯e¡¯|¡¯t¡¯|¡¯i¡¯|¡¯n¡¯|¡¯g¡¯|0xC0|0x04|¡£¡£¡£¡£


¡°eng.apple.com¡±µÄ±àÂëÒÔÁã×îºó£¬£¬ £¬£¬£¬ £¬£¬ÒÔ±ê¼ÇÃû³ÆµÄ×îºó¡£¡£¡£¡£¡°marketing¡±£¨Õë¶Ômarketing.apple.com£©µÄ±àÂëÒÔÁ½¸ö°Ëλ×Ö½ÚµÄѹËõÖ¸ÕëC004£¨Ê®Áù½øÖÆ£©×îºó£¬£¬ £¬£¬£¬ £¬£¬¸ÃÖ¸ÕëÖ¸ÏòDomainSearchOptionÊý¾ÝµÄÍêÕû¾ÛºÏ¿é£¨´ÓµÚÒ»¸ö¡°ÓòËÑË÷Ñ¡ÏÖеÄSearchstring×îÏÈ£©ÖÐµÄÆ«ÒÆÁ¿4£¬£¬ £¬£¬£¬ £¬£¬ÆäÖÐÁíÒ»¸öÓÐÓñàÂë¿ÉÒÔÕÒµ½ÍêÕûµÄÓòÃû£¨¡°apple.com¡±£©¡£¡£¡£¡£ÈçÏÂͼËùʾ£º

 

8.png


ÿ¸öËÑË÷ÓòÃû¶¼±ØÐèÒÔÁã»òÁ½¸ö°Ëλλ×éѹËõÖ¸Õë×îºó¡£¡£¡£¡£ÈôÊÇÎüÊÕÆ÷µÖ´ïËÑË÷ÁбíÑ¡ÏîÊý¾ÝµÄÍêÕû»ã×Ü¿éµÄĩβʱÕýÔÚͨ¹ýËÑË÷ÓòÃû¾ÙÐнâÂ룬£¬ £¬£¬£¬ £¬£¬¶øÃ»ÓÐÕÒµ½Áã»òÓÐÓõÄÁ½¸ö°Ëλλ×éѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬ÄÇô±ØÐ轫²¿·Ö¶ÁÈ¡µÄÓòÃûÊÓΪÎÞЧÓòÃû¡£¡£¡£¡£


Îó²îÆÊÎö


1¡¢Nucleus NETϵÁÐÎó²î


9.png


ÉÏͼΪNucleus NETЭÒéÕ»ÖеÄDNS_Unpack_Domain_Name()º¯Êý£¬£¬ £¬£¬£¬ £¬£¬Õâ¸öº¯ÊýÓÃÀ´´¦Öóͷ£DNSÓ¦´ð¼Í¼¡£¡£¡£¡£µÚÒ»¸ö²ÎÊýdstÊÇÖ¸ÏòÒ»¸öbuffer£¬£¬ £¬£¬£¬ £¬£¬ÓÃÓÚ¿½±´ÆÊÎöµÄÓòÃû¡£¡£¡£¡£µÚ¶þ¸ö²ÎÊýsrcÖ¸ÏòÓòÃûµÄµÚÒ»¸ö×Ö½Ú£¬£¬ £¬£¬£¬ £¬£¬µÚÈý¸ö²ÎÊýÖ¸ÏòDNS HeaderµÄµÚÒ»¸ö×Ö½Ú¡£¡£¡£¡£


´úÂëͨ¹ýwhileÑ­»·È¥ÆÊÎöÓòÃû£¨µÚ7ÐУ©£¬£¬ £¬£¬£¬ £¬£¬Ö±µ½srcΪnull×Ö½Ú£¬£¬ £¬£¬£¬ £¬£¬Ò²¾ÍÊÇÓòÃûµÄ×îºó¡£¡£¡£¡£Ö®ºó½«µÚÒ»¸ölabelµÄ³¤¶È¸³Öµ¸øsize£¨µÚ9ÐУ©¡£¡£¡£¡£ÏÂÃæ£¬£¬ £¬£¬£¬ £¬£¬Ò²¾ÍÊÇ×îÖ÷ÒªµÄÒ»²½¾ÍÊǼì²é¸Ã×Ö½ÚÊÇ·ñΪѹËõÖ¸Õë¡£¡£¡£¡£ÈôÊDz»ÊÇ£¬£¬ £¬£¬£¬ £¬£¬srcÖ¸ÕëÇ°ÒÆÒ»¸ö×Ö½Ú£¬£¬ £¬£¬£¬ £¬£¬È»ºó½«src¿½±´µ½dst¡£¡£¡£¡£È»ºóÿ¸ölabelÖ®¼ä¼Ó¡±.¡±¡£¡£¡£¡£ÎªÕý³£µÄÆÊÎöÓòÃûÊ¿³Ì¡£¡£¡£¡£ÈôÊÇÊÇѹËõÖ¸Õë²¢ÇÒÊǵÚÒ»¸öѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬retval¼ÓÁ½¸ö×Ö½Ú£¨µÚ10£¬£¬ £¬£¬£¬ £¬£¬11ÐУ©£¬£¬ £¬£¬£¬ £¬£¬È»ºóÆ¾Ö¤Æ«ÒÆÅÌËãlabelÆðʼλÖ㬣¬ £¬£¬£¬ £¬£¬È»ºó½«³¤¶È¸³Öµ¸øsize£¬£¬ £¬£¬£¬ £¬£¬Ö®ºóÕý³£´¦Öóͷ£¡£¡£¡£¡£


Õâ¶Î´úÂë¿´ÆðÀ´Ã»ÓÐÎÊÌâÏÖʵÉϰüÀ¨4¸öºÜÊÇÑÏÖØµÄÎÊÌ⣬£¬ £¬£¬£¬ £¬£¬ÆäÔì³ÉµÄÎó²î±àºÅ»®·ÖΪCVE-2020-27736¡¢CVE-2020-27738¡¢ CVE-2020-15795¡¢CVE-2020-27009¡£¡£¡£¡£


£¨1£©¶Ôlabel³¤¶ÈûÓÐ×öÑéÖ¤

ƾ֤ÉÏÎĽ²ÊöµÄÄÚÈÝ£¬£¬ £¬£¬£¬ £¬£¬Ã¿¸ölabelµÄµÚÒ»¸ö×Ö½Ú´ú±í³¤¶È£¨µÚ8£¬£¬ £¬£¬£¬ £¬£¬16ÐУ©£¬£¬ £¬£¬£¬ £¬£¬¿ÉÊdzÌÐòûÓмì²éÕâ¸ö³¤¶ÈÊÇ·ñ´ú±íÕæÊµÊý¾Ý°üÖÐlabelµÄ³¤¶È£¬£¬ £¬£¬£¬ £¬£¬Õâ¿Éµ¼Ö¶ÁÈ¡Áè¼ÝÒÑ·ÖÅɽṹÌåµÄbuffer£¬£¬ £¬£¬£¬ £¬£¬Ôì³É¾Ü¾øÐ§ÀÍ¡£¡£¡£¡£


£¨2£©¶ÔѹËõÖ¸ÕëµÄÆ«ÒÆÃ»ÓÐ×öÑéÖ¤

ƾ֤ÉÏÎĽ²ÊöµÄÄÚÈÝ£¬£¬ £¬£¬£¬ £¬£¬³ÌÐòÅжÏΪѹËõÖ¸Õëºó£¬£¬ £¬£¬£¬ £¬£¬±ã»áͨ¹ý¸ø³öµÄÆ«ÒÆÈ¥Ñ°ÕÒÆÊÎölabel£¨µÚ14,15,16ÐУ©£¬£¬ £¬£¬£¬ £¬£¬¿ÉÊdzÌÐòûÓÐÑéÖ¤Æ«ÒÆµÄ¹æÄ££¬£¬ £¬£¬£¬ £¬£¬Õâµ¼ÖÂÆ«ÒÆÖµ¿ÉÒÔí§Òâ¸ø¶¨£¬£¬ £¬£¬£¬ £¬£¬Õâµ¼Ö¿ÉÒÔÔ½½ç¶Áд£¬£¬ £¬£¬£¬ £¬£¬´Ó¶øRCE¡£¡£¡£¡£


£¨3£©È±ÉÙNULLÖÕÖ¹ÅжÏ

ƾ֤RFC1035µÄ±íÊö£¬£¬ £¬£¬£¬ £¬£¬NULL×Ö½Ú(0x00)ÌåÏÖnameµÄ×îºó£¨µÚ7ÐУ©¡£¡£¡£¡£¿ÉÊÇÔÚÐí¶àDNSÆÊÎö³ÌÐòÖÐȱ·¦¶ÔNULL×Ö½ÚµÄÑéÖ¤£¬£¬ £¬£¬£¬ £¬£¬Õâµ¼Ö¹¥»÷Õß¿ÉÒÔͨ¹ý¿ØÖÆNULL×Ö½ÚÔÚÌØ¶¨µÄλÖ㬣¬ £¬£¬£¬ £¬£¬Í¨¹ýºÍǰ¼¸¸öÎÊÌâÏàÁ¬Ïµ£¬£¬ £¬£¬£¬ £¬£¬Í¬Ñù¿ÉÒÔʵÏֿɿصÄÄÚ´æ¶Áд¡£¡£¡£¡£


£¨4£©¶ÔÓòÃûµÄ³¤¶ÈûÓÐ×öÏÞÖÆ

ƾ֤RFC1035µÄ³ÂÊö£¬£¬ £¬£¬£¬ £¬£¬´ÓDNS¼Í¼ÀïÌáÈ¡µÄÓòÃû²»Ó¦¸ÃÁè¼Ý255×Ö½Ú£¬£¬ £¬£¬£¬ £¬£¬Ö»¹Üÿ¸ölabelÏÞÖÆÁ˲»Áè¼Ý63¸ö×Ö½Ú£¨µÚ15ÐУ©£¬£¬ £¬£¬£¬ £¬£¬¿ÉÊÇÕâÖ»ÊÇÒ»´ÎÐÔ¿½±´µÄ³¤¶È£¬£¬ £¬£¬£¬ £¬£¬²¢Ã»ÓÐÏÞÖÆÏÖʵ¿½±´µÄ³¤¶È¡£¡£¡£¡£ÈçÏÂͼËùʾ£¬£¬ £¬£¬£¬ £¬£¬Í¨¹ýNU_Allocate_Memory()º¯Êý·ÖÅɸøname 255¸ö×Ö½Ú¸ö¿Õ¼ä£¨µÚ50ÐУ©£¬£¬ £¬£¬£¬ £¬£¬¼´DNS_MAX_NAME_SIZE¡£¡£¡£¡£ºóÃæÅ²ÓÃDNS_Unpack_Domain_NameµÄÀú³ÌÖУ¬£¬ £¬£¬£¬ £¬£¬ÏÔÈ»¿ÉÒÔͨ¹ý½á¹¹¶ñÒâµÄÊý¾Ý°üÒç³öÕâ255×Ö½Ú¡£¡£¡£¡£

 

10.png


ÒÔÊÇÆ¾Ö¤ÒÔÉÏÄÚÈÝ£¬£¬ £¬£¬£¬ £¬£¬PoCµÄ±àдµÄ˼Ð÷ÓÐÐí¶àÒªÁ죬£¬ £¬£¬£¬ £¬£¬ºÃ±È¿ÉÒÔÈóÌÐòÓÀÔ¶ÎÞ·¨Í˳öÑ­»·£¬£¬ £¬£¬£¬ £¬£¬ÀàËÆÏÂͼ£º

 

11.png


c0ΪѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬1eÎªÆ«ÒÆÁ¿£¬£¬ £¬£¬£¬ £¬£¬¶øÆ«ÒƵÄλÖÃÕýºÃÖØÐÂÖ¸Ïòc0£¬£¬ £¬£¬£¬ £¬£¬Ôì³ÉÎÞÏÞÑ­»·¡£¡£¡£¡£


2¡¢FreeBSDÎó²î£¨CVE-2020-7461£©


¸ÃÎó²î·ºÆðÔÚdhclientÆÊÎöDHCPÊý¾Ý°üÖеġ°ÓòËÑË÷Ñ¡ÏÊý¾Ýʱ£¬£¬ £¬£¬£¬ £¬£¬ÓÉÓÚ½çÏß¼ì²é¹ýʧ¶øµ¼Ö¶ÑÒç³ö¡£¡£¡£¡£dhclinetÊÇFreeBSDϵͳÖÐÓÃÓÚÌṩDHCPЧÀ͵Ķþ½øÖƳÌÐò£¬£¬ £¬£¬£¬ £¬£¬Ö´ÐÐÏÂÁdhclient em0±ã¿É¾ÙÐÐDHCPÉèÖ㬣¬ £¬£¬£¬ £¬£¬em0ÎªÍø¿¨¡£¡£¡£¡£Ô´ÂëλÓÚsbin\dhclient\options.c£¬£¬ £¬£¬£¬ £¬£¬´Ódo_packet()º¯Êý×îÏÈ£¬£¬ £¬£¬£¬ £¬£¬´úÂëÇåµ¥ÈçÏÂͼËùʾ£º


12.png


¸Ãº¯ÊýÓÃÓÚ´¦Öóͷ£DHCP¿Í»§¶ËÎüÊÕµ½µÄÊý¾Ý°ü£¬£¬ £¬£¬£¬ £¬£¬ÐÐ890£¬£¬ £¬£¬£¬ £¬£¬Å²ÓÃparse_options()º¯ÊýÆÊÎöÊý¾Ý°üÖеÄoptions£¬£¬ £¬£¬£¬ £¬£¬´úÂëÇåµ¥ÈçÏÂͼËùʾ£º


13.png


ÐÐ106£¬£¬ £¬£¬£¬ £¬£¬Å²ÓÃexpand_domain_search()º¯Êý½øÒ»²½ÆÊÎöDHCPÓòËÑË÷Ñ¡ÏîÊý¾Ý£¬£¬ £¬£¬£¬ £¬£¬¸Ãº¯Êý¾ÙÐÐÁ½¸ö²Ù×÷£¬£¬ £¬£¬£¬ £¬£¬µÚÒ»²½²Ù×÷ÊÇÏÈ»ñÈ¡ËùÓÐÓòÃû±êÇ©µÄ×ܳ¤¶È£¬£¬ £¬£¬£¬ £¬£¬µÚ¶þ²½²Ù×÷ÊÇÆ¾Ö¤µÚÒ»²½»ñÈ¡µÄ³¤¶È¾ÙÐÐÄÚ´æ·ÖÅÉ£¬£¬ £¬£¬£¬ £¬£¬²¢¿½±´ËùÓÐÓòÃû±êÇ©¡£¡£¡£¡£

ÏÈ¿´µÚÒ»²Ù×÷£¬£¬ £¬£¬£¬ £¬£¬ÔõÑù»ñÈ¡ËùÓÐÓòÃû±êÇ©µÄ³¤¶È£¬£¬ £¬£¬£¬ £¬£¬Òªº¦´úÂëʵÏÖÈçÏÂͼËùʾ£º


14.png


Ê×ÏÈÅжÏoptionsÊÇ·ñΪ¿Õ£¬£¬ £¬£¬£¬ £¬£¬²»Îª¿Õ¾Í»ñÈ¡options£¬£¬ £¬£¬£¬ £¬£¬ÐÐ229£¬£¬ £¬£¬£¬ £¬£¬È»ºó½øÈëwhileÑ­»·£¬£¬ £¬£¬£¬ £¬£¬Å²ÓÃfind_search_domain_name_len()º¯Êý´¦Öóͷ£options£¬£¬ £¬£¬£¬ £¬£¬¸Ãº¯Êýͨ¹ýÒ»¸öwhileÑ­»·Öð¸ö×Ö½ÚÆÊÎöSearchsting²¢·ÖÀà´¦Öóͷ££¬£¬ £¬£¬£¬ £¬£¬µÚÒ»ÖÖÇéÐεÄÒªº¦´úÂëʵÏÖÈçÏÂͼËùʾ£º

 

15.png


ÈôÊǶÁÈ¡µ½data[i]Ϊ0£¬£¬ £¬£¬£¬ £¬£¬ÌåÏÖÓòÃû±êÇ©µÄ×îºó£¬£¬ £¬£¬£¬ £¬£¬²¢·µ»Ø¸ÃÓòÃû±êÇ©³¤¶È¡£¡£¡£¡£½Ó×ŵڶþÖÖÇéÐεÄÒªº¦´úÂëʵÏÖÈçÏÂͼËùʾ£º


16.png


ÈôÊǶÁÈ¡µ½data[i]Ϊ0xC0£¬£¬ £¬£¬£¬ £¬£¬ÌåÏÖΪѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬Ö¸ÏòÁíÒ»¸öÓòÃû±êÇ©£¬£¬ £¬£¬£¬ £¬£¬ÐÐ287£¬£¬ £¬£¬£¬ £¬£¬ÅÌËãpointer£¬£¬ £¬£¬£¬ £¬£¬È»ºó¶Ô¸ÃÖ¸Õë¾ÙÐйæÄ£¼ì²éÅжÏÊÇ·ñÔ½½ç£¨µÚ299ÐУ©£¬£¬ £¬£¬£¬ £¬£¬µÝ¹éŲÓÃfind_search_domain_name_len()º¯ÊýÆÊÎöѹËõÖ¸ÕëÖ¸ÏòµÄÁíÒ»¸öÓòÃû±êÇ©£¨µÚ301ÐУ©£¬£¬ £¬£¬£¬ £¬£¬µÝ¹éŲÓ÷µ»Øºó£¬£¬ £¬£¬£¬ £¬£¬¾ÙÐÐdomain_name_len += pointer_lenÀÛ¼Ó¡£¡£¡£¡£ÈôÊǼȲ»ÊÇ0×îºóÒ²²»ÊÇѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬ÔòÒÀ´ÎÀÛ¼Ó²¢ÒÆÎ»Óα꣬£¬ £¬£¬£¬ £¬£¬ÊµÏÖ´úÂëÈçÏÂͼËùʾ£º


17.png


ÔÚµÚ299Ðк͵Ú301ÐÐÖ®¼äÊDZ£´æÎÊÌâµÄ£¬£¬ £¬£¬£¬ £¬£¬ÈôÊǵݹ鴦Öóͷ£Ñ¹ËõÖ¸ÕëÖ¸ÏòµÄÁíÒ»¸öÓòÃû±êÇ©²»ÕýÄÇʱ£¬£¬ £¬£¬£¬ £¬£¬·µ»ØµÄpointer_lenΪ-1£¬£¬ £¬£¬£¬ £¬£¬ÕâÀﲢûÓн«ÆäÊÓΪÎÞЧ²¢¾ÙÐзµ»Ø£¬£¬ £¬£¬£¬ £¬£¬¶øÊÇÒÀ¾É·µ»Ø²¿·ÖÓòÃû±êÇ©³¤¶È¡£¡£¡£¡£

ÔÙ¿´µÚ¶þ²Ù×÷£¬£¬ £¬£¬£¬ £¬£¬·ÖÅÉ»º³åÇø²¢¾ÙÐÐÓòÃû±êÇ©¿½±´£¬£¬ £¬£¬£¬ £¬£¬Òªº¦´úÂëÈçÏÂͼËùʾ£º


18.png


ÕâÀïexpanded_lenΪÅÌËã³öÀ´µÄÓòÃû±êÇ©µÄ³¤¶È£¨µÚ242ÐУ©£¬£¬ £¬£¬£¬ £¬£¬·ÖÅÉÒ»¶ÎÄڴ棨µÚ248ÐУ©£¬£¬ £¬£¬£¬ £¬£¬½øÈëwhileÑ­»·£¬£¬ £¬£¬£¬ £¬£¬Å²ÓÃexpand_search_domain_name()º¯Êý¾ÙÐÐÓòÃû±êÇ©¿½±´£¬£¬ £¬£¬£¬ £¬£¬ÊµÏÖ´úÂëÈçÏÂͼËùʾ£º


19.png


¸Ãº¯ÊýºÍfind_search_domain_name_len()º¯ÊýʵÏÖ»ù±¾ÊÇÒ»ÑùµÄ£¬£¬ £¬£¬£¬ £¬£¬·ÖÀà´¦Öóͷ£0×îºóºÍѹËõÖ¸Õ룬£¬ £¬£¬£¬ £¬£¬¿ÉÊÇÔÚ´¦Öóͷ£Ñ¹ËõÖ¸ÕëµÄÇéÐÎʱ£¬£¬ £¬£¬£¬ £¬£¬²¢Ã»ÓÐÅжÏÖ¸Õë¹æÄ£µÄºÏÀíÐÔ¡£¡£¡£¡£ÐÐ366£¬£¬ £¬£¬£¬ £¬£¬Å²ÓÃmemcpy¾ÙÐÐÓòÃû±êÇ©¿½±´£¬£¬ £¬£¬£¬ £¬£¬¿½±´³¤¶ÈΪlabel_len¡£¡£¡£¡£


ƾ֤ǰÎÄÆÊÎö£¬£¬ £¬£¬£¬ £¬£¬µÚÒ»²½²Ù×÷Ôڵݹ鴦Öóͷ£Ñ¹ËõÖ¸ÕëµÄÇéÐÎʱ£¬£¬ £¬£¬£¬ £¬£¬ÊDZ£´æÎÊÌâµÄ£¬£¬ £¬£¬£¬ £¬£¬²¢Ã»ÓÐÑïÆú°üÀ¨ÎÞЧѹËõÖ¸ÕëµÄÓòÃû±êÇ©¡£¡£¡£¡£¿£¿£¿£¿£¿£¿ÉÒԽṹһ¸öÌØÊâµÄÓòÃû±êÇ©»ìÏýlebalµÄµÝ¹éÆÊÎö£¬£¬ £¬£¬£¬ £¬£¬¸ÃÓòÃû±êÇ©ÌåÏÖΪ£º| 1 |x3F|x00| 1 |'A'|xC0|x01|¡£¡£¡£¡£


ÒÀ´Î¶ÁÈ¡µ½label_lenΪ0xC0ʱ£¬£¬ £¬£¬£¬ £¬£¬½øÒ»²½µÝ¹éŲÓÃÆÊÎö£¬£¬ £¬£¬£¬ £¬£¬Õâ´Î¶ÁÈ¡µ½label_lenΪ0x3f£¬£¬ £¬£¬£¬ £¬£¬½«0x3fµ±³ÉÁËÓòÃû³¤¶È£¬£¬ £¬£¬£¬ £¬£¬¿ÉÊǵÚ305ÐУ¬£¬ £¬£¬£¬ £¬£¬Åжϱ¬·¢Ô½½ç£¬£¬ £¬£¬£¬ £¬£¬Òò´Ë·µ»Ø-1¡£¡£¡£¡£


20.png


¿ÉÊÇÕâÀïÈÔÈ»ÅÌËã³ödomain_name_lanΪ1£¬£¬ £¬£¬£¬ £¬£¬Òò´ËµÚ¶þ¸öÓòÃû°üÀ¨Ò»¸ö0x41¡£¡£¡£¡£


21.png


×îºóÅÌËã³öexpanded_lenΪ0x5£¬£¬ £¬£¬£¬ £¬£¬ÈçÏÂͼËùʾ£º


22.png


È»ºó×îÏȾÙÐеڶþ²½¿½±´²Ù×÷£¬£¬ £¬£¬£¬ £¬£¬ÏÈ¿½±´µÚÒ»¸ödomain£º0x3f¡£¡£¡£¡£ÈçÏÂͼËùʾ£º

 

24.png


µÚ¶þ´Î¿½±´µÚ¶þ¸ödomain£º0x41¡£¡£¡£¡£ÈçÏÂͼËùʾ£º

 

25.png


µÝ¹éÆÊÎöѹËõÖ¸Õë0XC004ʱ£¬£¬ £¬£¬£¬ £¬£¬±¬·¢ÁË»ìÏý£¬£¬ £¬£¬£¬ £¬£¬ÈçÏÂͼËùʾ£º


26.png


¹ýʧµØ½«0x3fµ±³Élabel_len£¬£¬ £¬£¬£¬ £¬£¬ÕâÏÔ×ÅÊÇ´óÓÚexpanded_lenµÄ£¬£¬ £¬£¬£¬ £¬£¬Ö±½Ó¿½±´µ¼ÖÂÒç³ö¡£¡£¡£¡£²»¹ýÔÚÏÖʵ²âÊÔÖУ¬£¬ £¬£¬£¬ £¬£¬²¢Î´±¬·¢ÄÚ´æÆÆË𣬣¬ £¬£¬£¬ £¬£¬¶ø¿ÉÒԽṹÆäËûµÄÓòÃû±êÇ©ÏÝÈëÎÞÏ޵ݹ飬£¬ £¬£¬£¬ £¬£¬ÈÃdhclientÀú³Ì¿ÍÕ»ºÄ¾¡µ¼ÖÂÍ߽⣬£¬ £¬£¬£¬ £¬£¬Ôì³É¾Ü¾øÐ§ÀÍ¡£¡£¡£¡£


27.png

 

´¦Öóͷ£½¨Òé


FreeBSD¡¢Nucleus NETºÍ NetX£¬£¬ £¬£¬£¬ £¬£¬½¨ÒéÏÈʵÑéÒÔÏÂÇå¾²½¨Ò飬£¬ £¬£¬£¬ £¬£¬ÔÙʵʱ¸üÐÂ×°±¸¹©Ó¦ÉÌÐû²¼µÄÇå¾²¸üС£¡£¡£¡£

Çå¾²½¨Ò飺


ʹÓÃһЩ»º½âÐÅÏ¢À´¿ª·¢¼ì²âDNSÎó²îµÄÊðÃû£»£»£»£»£»£»£»

·¢Ã÷²¢ÇåµãÔËÐÐÒ×Êܹ¥»÷¿ÍÕ»µÄ×°±¸£»£»£»£»£»£»£»

ʵÑé·Ö¶Î¿ØÖƺÍÊʵ±µÄnetwork hygiene£»£»£»£»£»£»£»

¼àÊÓÊÜÓ°ÏìµÄ×°±¸¹©Ó¦ÉÌÐû²¼µÄ²¹¶¡£¡£¡£¡£»£»£»£»£»£»£»

ÉèÖÃ×°±¸ÒÀÀµÄÚ²¿DNSЧÀÍÆ÷£»£»£»£»£»£»£»

¼à¿ØËùÓÐÍøÂçÁ÷Á¿ÖеĶñÒâÊý¾Ý°ü¡£¡£¡£¡£