ችግር
የኮዱ ጥሪ string_interpret_escape() በትክክለኛ መጠን ላይ ተመስርቶ ለፍሳሹ ቋት ይመድባል፣ እና የተጋለጠ ጠቋሚው የሚያበቃው ከጠባቂው ወሰን ውጭ ባለ አካባቢ ነው። በዚህ መሠረት የግቤት ህብረቁምፊን ለመስራት በሚሞከርበት ጊዜ, ከተመደበው ቋት ወሰን ውጭ ያለ ቦታ መረጃን ሲያነብ ሁኔታ ይፈጠራል, እና ያልተሸፈነ ሕብረቁምፊ ለመጻፍ መሞከር ከጠባቂው ወሰን በላይ ወደ መጻፍ ሊያመራ ይችላል.
በነባሪ ውቅር ውስጥ፣ ከአገልጋዩ ጋር ደህንነቱ የተጠበቀ ግንኙነት ሲፈጥሩ ልዩ የተነደፈ ውሂብ ወደ SNI በመላክ ተጋላጭነቱን መጠቀም ይቻላል። ጉዳዩ ለደንበኛ ሰርተፍኬት ማረጋገጫ በተዋቀሩ ውቅሮች ውስጥ ወይም የምስክር ወረቀቶችን በሚያስገቡበት ጊዜ የአቻ እሴቶችን በመቀየር ጥቅም ላይ ሊውል ይችላል። ከተለቀቀ ጀምሮ በSNI እና peerdn በኩል ማጥቃት ይቻላል።
በSNI በኩል ለሚሰነዘር ጥቃት የብዝበዛ ምሳሌ ተዘጋጅቷል፣ በ i386 እና amd64 architectures ላይ በሊኑክስ ሲስተሞች ላይ ከGlibc ጋር ይሰራል። ብዝበዛው በተከመረው ቦታ ላይ የውሂብ ተደራቢን ይጠቀማል, በዚህም ምክንያት የመዝገብ ፋይሉ ስም የተከማቸበትን ማህደረ ትውስታ ይተካዋል. የፋይሉ ስም በ "/.../.../.../../../.../../../etc/passwd" ተተክቷል። በመቀጠል, የላኪው አድራሻ ያለው ተለዋዋጭ ተጽፏል, በመጀመሪያ በመዝገብ ውስጥ ይቀመጣል, ይህም አዲስ ተጠቃሚ ወደ ስርዓቱ ለመጨመር ያስችልዎታል.
የጥቅል ዝማኔዎች በስርጭት ከተለቀቁ የተጋላጭነት ጥገናዎች ጋር
ተጋላጭነቱን ለመግታት እንደ መፍትሄ፣ የTLS ድጋፍን ማሰናከል ወይም ማከል ይችላሉ።
የACL ክፍል "acl_smtp_mail"፡-
የመካድ ሁኔታ = ${ኢq ከሆነ{\\}{${substr{-1}{1}{$tls_in_sni}}}}
የመካድ ሁኔታ = ${ኢq ከሆነ{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
ምንጭ: opennet.ru