ወደ የሶስተኛ ወገን ጥያቄዎች እንድንገባ የሚያስችለን የፊት-መጨረሻ-የኋላ-መጨረሻ ስርዓቶች ላይ የሚደረግ ጥቃት

ተገለጠ እንደ በይዘት ማቅረቢያ ኔትወርኮች፣ ሎድ ሚዛን ሰጪዎች ወይም ፕሮክሲዎች ያሉ የፊት-መጨረሻ-ኋላ-መጨረሻ ሞዴል በሚጠቀሙ ጣቢያዎች ላይ የአዲሱ ጥቃት ዝርዝሮች። ጥቃቱ የተወሰኑ ጥያቄዎችን በመላክ ከፊት እና ከኋላ መካከል ባለው ተመሳሳይ ክር ውስጥ ወደተሰሩ ሌሎች ጥያቄዎች ይዘቶች ውስጥ ለመግባት ያስችላል። የታቀደው ዘዴ የፔይፓል አገልግሎት ተጠቃሚዎችን የማረጋገጫ መለኪያዎች ለመጥለፍ የሚያስችለውን ጥቃት ለማደራጀት በተሳካ ሁኔታ ጥቅም ላይ የዋለ ሲሆን ይህም ለተመራማሪዎች ያልተጣበቁ ተጋላጭነቶች መኖራቸውን ለማሳወቅ የፕሮግራሙ አካል በመሆን 40 ሺህ ዶላር ያህል ክፍያ ፈጽሟል። ጥቃቱ የአካማይ የይዘት ማቅረቢያ ኔትወርክን በሚጠቀሙ ጣቢያዎች ላይም ተፈጻሚ ይሆናል።

የችግሩ ዋና ነጥብ የፊት ለፊት እና የኋላ ጀርባዎች ብዙውን ጊዜ ለኤችቲቲፒ ፕሮቶኮል የተለያዩ የድጋፍ ደረጃዎችን ይሰጣሉ ፣ ግን በተመሳሳይ ጊዜ ከተለያዩ ተጠቃሚዎች የሚመጡ ጥያቄዎችን ወደ አንድ የጋራ ቻናል ይሸፍናሉ። የፊት ለፊት ተቀባይ ጥያቄዎችን እና የኋለኛውን ሂደት ጥያቄዎችን ለማገናኘት የረጅም ጊዜ የ TCP ግንኙነት ተቋቁሟል፣ የተጠቃሚ ጥያቄዎች የሚተላለፉበት፣ በሰንሰለቱ ላይ እርስ በርስ የሚተላለፉ፣ በኤችቲቲፒ ፕሮቶኮል ተለያይተዋል። ጥያቄዎችን ለመለየት, ራስጌዎቹ "የይዘት-ርዝመት" (በጥያቄው ውስጥ ያለውን አጠቃላይ የውሂብ መጠን ይወስናል) እና "ማስተላለፍ-ኢንኮዲንግ፡ ተሰብሯል።"(ውሂቡን በክፍሎች እንዲያስተላልፉ ይፈቅድልዎታል፣ የተለያየ መጠን ያላቸውን ብሎኮች በ"{size}\r\n{block}\r\n{size}\r\n{block}\r\n0" ቅርጸት)።

ችግሩ የሚፈጠረው የፊት ግንባር "የይዘት-ርዝመት"ን ብቻ የሚደግፍ ከሆነ ነገር ግን "Transfer-Encoding: chunked" (ለምሳሌ Akamai CDN ይህን አድርጓል) ወይም በተቃራኒው ችላ ካለ. የማስተላለፊያ ኢንኮዲንግ፡ የተሰነጠቀ በሁለቱም በኩል የሚደገፍ ከሆነ፣ የኤችቲቲፒ አርዕስት ተንታኞች አተገባበር ባህሪያት ለጥቃቱ ጥቅም ላይ ሊውሉ ይችላሉ (ለምሳሌ፣ የፊተኛው ጫፍ እንደ “Transfer-Encoding: xchunked”፣ “Transfer-Encoding: chunked” ያሉ መስመሮችን ችላ ሲል ”፣ “Transfer-Encoding” :[tab]የተሰነጠቀ፣”X: X[\n]ማስተላለፍ-ኢንኮዲንግ: የተሰነጠቀ፣” “ማስተላለፍ-ኢንኮዲንግ[\n]: chunked” ወይም “Transfer-Encoding: የተሰበረ”፣ እና የጀርባው አካል በተሳካ ሁኔታ ያስኬዳቸዋል).

በዚህ ሁኔታ አንድ አጥቂ ሁለቱንም የ"ይዘት-ርዝመት" እና "ትራንስፈር-ኢንኮዲንግ: የተቆራረጡ" ራስጌዎችን የያዘ ጥያቄ መላክ ይችላል ነገር ግን በ "ይዘት-ርዝመት" ውስጥ ያለው መጠን ከተሰነጣጠለው ሰንሰለት መጠን ጋር አይዛመድም, ይህም ከትክክለኛው ዋጋ ያነሰ ነው. የፊት ገፅ ጥያቄውን በ"ይዘት-ርዝመት" መሰረት ካደረገ እና ካስተላለፈ እና በ"Transfer-Encoding: chunked" ላይ ተመስርተው እገዳው እስኪጠናቀቅ የሚጠብቅ ከሆነ በ"Transfer-Encoding: chunked" ላይ የተመሰረተው የውሂብ መጨረሻ ያበቃል. ቀደም ብሎ መወሰን እና የቀረው የጥያቄው ጭራ አጥቂው በሚቀጥለው ጥያቄ መጀመሪያ ላይ ይሆናል ፣ ማለትም አጥቂው ቀጥሎ ከሚተላለፈው የሌላ ሰው ጥያቄ መጀመሪያ ላይ የዘፈቀደ ውሂብ ማያያዝ ይችላል።

ወደ የሶስተኛ ወገን ጥያቄዎች እንድንገባ የሚያስችለን የፊት-መጨረሻ-የኋላ-መጨረሻ ስርዓቶች ላይ የሚደረግ ጥቃት

በጥቅም ላይ ባለው የፊት-የኋላ ጥምር ውስጥ ያለውን ችግር ለማወቅ፣በፊት ለፊት በኩል እንደዚህ ያለ ጥያቄ መላክ ይችላሉ።

POST /ስለ HTTP/1.1
አስተናጋጅ፡ example.com
ማስተላለፍ-ኢንኮዲንግ፡ ተሰብሯል።
ይዘት-ርዝመት: 4

1
Z
Q

የኋለኛው አካል ጥያቄውን ወዲያውኑ ካላጠናቀቀ እና የመጨረሻው ዜሮ ማሰሪያ የተሰነጠቀ ውሂብ እስኪመጣ ድረስ ከጠበቀ ችግሩ አለ። ለበለጠ የተሟላ ፍተሻ ተዘጋጅቷል ከፊት ለፊት ያለውን የ"Transfer-Encoding: chunked" ራስጌን ለመደበቅ ሊሆኑ የሚችሉ ዘዴዎችን የሚፈትሽ ልዩ መገልገያ።

እውነተኛ ጥቃትን መፈጸም በተጠቃው ጣቢያ አቅም ላይ የተመሰረተ ነው፡ ለምሳሌ የትሬሎ ዌብ አፕሊኬሽኑን ሲያጠቁ የጥያቄውን መጀመሪያ መተካት ይችላሉ (እንደ “PUT /1/members/1234… x=x&csrf ተተኪ ውሂብ) =1234&username=testzzz&bio=cake”) እና የሶስተኛ ወገን ተጠቃሚ የመጀመሪያውን ጥያቄ እና በውስጡ የተገለጸውን የማረጋገጫ ኩኪ ጨምሮ መልእክት ይላኩ። በ saas-app.com ላይ ለተሰነዘረ ጥቃት በምላሹ ውስጥ የጃቫ ስክሪፕት ኮድን በአንዱ የጥያቄ መለኪያዎች ውስጥ በመተካት መተካት የሚቻል ሆኖ ተገኝቷል። በredhat.com ላይ ለተሰነዘረው ጥቃት፣ የውስጥ ተቆጣጣሪ ወደ አጥቂው ድረ-ገጽ ለማዞር ጥቅም ላይ ውሏል (የ«POST/search?dest=../assets/idx?redir=// ቅጽ ጥያቄ[ኢሜል የተጠበቀ]/ HTTP/1.1")

የይዘት ማቅረቢያ ኔትወርኮችን ዘዴ በመጠቀም የተጠየቀውን ጣቢያ በቀላሉ "አስተናጋጅ:" ራስጌ በመተካት መተካት አስችሏል. ጥቃቱ የይዘት መሸጎጫ ስርዓቶችን ይዘቶች ለመመረዝ እና የተሸጎጠ ሚስጥራዊ ውሂብ ለማውጣት ጥቅም ላይ ሊውል ይችላል። የስልቱ ቁንጮ የፔይፓል ጥቃት አደረጃጀት ሲሆን ይህም በማረጋገጫ ወቅት በተጠቃሚዎች የተላኩ የይለፍ ቃሎችን ለመጥለፍ አስችሎታል (የiframe ጥያቄው በ paypal.com/us/gifts ገጽ ላይ ጃቫ ስክሪፕትን ለማስፈፀም ተስተካክሏል ፣ ለ የትኛው CSP (የይዘት ደህንነት ፖሊሲ) አልተተገበረም).

የሚገርመው በ2005 ዓ.ም የቀረበው በአንድ የኤችቲቲፒ ክፍለ ጊዜ ውስጥ ብዙ የ"GET" ወይም "POST" ጥያቄዎችን በመጥቀስ ፕሮክሲዎችን በመሸጎጥ ( Tomcat፣ squid፣ mod_proxy) ወይም የፋየርዎል እገዳን ለማለፍ የሚያስችልዎ ተመሳሳይ የጥያቄ ማፈኛ ዘዴ።

ምንጭ: opennet.ru

አስተያየት ያክሉ