තුන්වන පාර්ශ්ව ඉල්ලීම් වලට සම්බන්ධ වීමට අපට ඉඩ සලසන ඉදිරිපස-අන්ත-පසු අන්ත පද්ධතිවලට ප්‍රහාරයක්

හෙළිදරව් කළා අන්තර්ගත බෙදා හැරීමේ ජාල, ලෝඩ් බැලන්සර් හෝ ප්‍රොක්සි හරහා ක්‍රියාත්මක වන වෙබ් අඩවි වැනි ඉදිරිපස-අන්ත-පසු අන්ත ආකෘතියක් භාවිතා කරන වෙබ් අඩවි වලට නව ප්‍රහාරයක් පිළිබඳ විස්තර. ප්‍රහාරය සමහර ඉල්ලීම් යැවීමෙන්, ඉදිරිපස සහ පසුපෙළ අතර එකම ත්‍රෙඩ් එකක සකසන ලද අනෙකුත් ඉල්ලීම්වල අන්තර්ගතයට සම්බන්ධ කිරීමට ඉඩ සලසයි. යෝජිත ක්‍රමය PayPal සේවාව භාවිතා කරන්නන්ගේ සත්‍යාපන පරාමිතීන් බාධා කිරීමට හැකි වන පරිදි ප්‍රහාරයක් සංවිධානය කිරීම සඳහා සාර්ථකව භාවිතා කරන ලද අතර, නොගැලපෙන දුර්වලතා පවතින බව දැනුම් දීමේ වැඩසටහනක කොටසක් ලෙස පර්යේෂකයන්ට ඩොලර් 40 ක් පමණ ගෙවන ලදී. ප්‍රහාරය Akamai අන්තර්ගත බෙදාහැරීමේ ජාලය භාවිතා කරන අඩවි සඳහාද අදාළ වේ.

ගැටලුවේ හරය නම් ඉදිරිපස සහ පසුපෙළ බොහෝ විට HTTP ප්‍රොටෝකෝලය සඳහා විවිධ මට්ටමේ සහය ලබා දෙන නමුත් ඒ සමඟම විවිධ පරිශීලකයින්ගෙන් ලැබෙන ඉල්ලීම් පොදු නාලිකාවකට ඇතුළත් කිරීමයි. ඉදිරිපස ලැබෙන ඉල්ලීම් සහ පසුපෙළ සැකසුම් ඉල්ලීම් සම්බන්ධ කිරීම සඳහා, දිගුකාලීන TCP සම්බන්ධතාවයක් ස්ථාපිත කර ඇති අතර, එමඟින් පරිශීලක ඉල්ලීම් සම්ප්‍රේෂණය වේ, දාමය ඔස්සේ එකින් එක සම්ප්‍රේෂණය වේ, HTTP ප්‍රොටෝකෝලය මගින් වෙන් කරනු ලැබේ. ඉල්ලීම් වෙන් කිරීමට, ශීර්ෂ "අන්තර්ගත-දිග" (ඉල්ලීමෙහි ඇති දත්තවල සම්පූර්ණ ප්‍රමාණය තීරණය කරයි) සහ "මාරු-කේතනය: කුට්ටි"("{size}\r\n{block}\r\n{size}\r\n{block}\r\n0" ආකෘතියෙන් විවිධ ප්‍රමාණයේ කොටස් සඳහන් කරමින් කොටස් වශයෙන් දත්ත මාරු කිරීමට ඔබට ඉඩ සලසයි).

ගැටලුව පැන නගින්නේ ඉදිරිපස “අන්තර්ගත-දිග” සඳහා පමණක් සහාය දක්වන නමුත් “මාරු-කේතනය: කුට්ටිය” නොසලකා හරින්නේ නම් (උදාහරණයක් ලෙස, Akamai CDN මෙය කළේය) හෝ අනෙක් අතට. Transfer-Encoding: chunked දෙපැත්තෙන්ම සහය දක්වන්නේ නම්, HTTP ශීර්ෂ විග්‍රහක ක්‍රියාත්මක කිරීමේ විශේෂාංග ප්‍රහාරයක් සඳහා භාවිතා කළ හැක (උදාහරණයක් ලෙස, ඉදිරිපස අන්තය “Transfer-Encoding: xchunked”, “Transfer-Encoding: chunked වැනි රේඛා නොසලකා හරින විට ”, “මාරු-කේතනය” :[tab]chunked", "X: X[\n]මාරු-කේතනය: chunked", "Transfer-Encoding[\n]: chunked" හෝ "Transfer-Encoding : chunked", සහ පසුපෙළ ඒවා සාර්ථකව සකසයි).

මෙම අවස්ථාවේදී, ප්‍රහාරකයෙකුට "අන්තර්ගත-දිග" සහ "මාරු-කේතනය: කුට්ටි" යන ශීර්ෂ දෙකම අඩංගු ඉල්ලීමක් යැවිය හැක, නමුත් "අන්තර්ගත-දිග" හි ප්‍රමාණය කුට්ටි දාමයේ ප්‍රමාණයට අනුරූප නොවේ. සැබෑ අගයට වඩා කුඩා වේ. ඉදිරිපස කොටස "අන්තර්ගත-දිග" අනුව ඉල්ලීම ක්‍රියාවට නංවන්නේ නම් සහ පසු අන්තය "මාරු-කේතනය: කුට්ටිය" මත පදනම්ව බ්ලොක් එක සම්පූර්ණ වන තෙක් බලා සිටී නම්, "මාරු-කේතනය: කුට්ටිය" මත පදනම් වූ දත්තවල අවසානය වනු ඇත. කලින් තීරණය කළ යුතු අතර ප්‍රහාරකයාගේ ඉල්ලීමේ ඉතිරි වලිගය මීළඟ ඉල්ලීමේ ආරම්භයේ වේ, i.e. ප්‍රහාරකයාට ඊළඟට සම්ප්‍රේෂණය වන වෙනත් කෙනෙකුගේ ඉල්ලීමක ආරම්භයට අත්තනෝමතික දත්ත ඇමිණීමට හැකි වනු ඇත.

තුන්වන පාර්ශ්ව ඉල්ලීම් වලට සම්බන්ධ වීමට අපට ඉඩ සලසන ඉදිරිපස-අන්ත-පසු අන්ත පද්ධතිවලට ප්‍රහාරයක්

ඔබ භාවිතා කරන ඉදිරිපස-පසුපෙළ සංයෝජනයේ ගැටලුව තීරණය කිරීමට, ඔබට ඉදිරිපස හරහා මෙවැනි ඉල්ලීමක් යැවිය හැක:

POST / HTTP/1.1 ගැන
සත්කාරක: example.com
මාරු-කේතනය: කුට්ටි
අන්තර්ගත-දිග: 4

1
Z
Q

පසුපෙළ ඉල්ලීම ක්ෂණිකව ක්‍රියාවට නංවන්නේ නැතිනම් සහ කුට්ටි දත්තවල අවසාන ශුන්‍ය මායිම් බ්ලොක් එක එනතෙක් බලා සිටින්නේ නම් ගැටළුව පවතී. වඩාත් සම්පූර්ණ චෙක්පතක් සඳහා සකස් කර ඇත "Transfer-Encoding: chunked" ශීර්ෂය ඉදිරිපසින් සැඟවීමට හැකි ක්‍රම ද පරීක්ෂා කරන විශේෂ උපයෝගීතාවයක්.

සැබෑ ප්‍රහාරයක් සිදු කිරීම ප්‍රහාරයට ලක් වූ අඩවියේ හැකියාවන් මත රඳා පවතී, උදාහරණයක් ලෙස, Trello වෙබ් යෙදුමට පහර දෙන විට, ඔබට ඉල්ලීමේ ආරම්භය ප්‍රතිස්ථාපනය කළ හැකිය (“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").

අන්තර්ගත බෙදා හැරීමේ ජාල සඳහා ක්‍රමය භාවිතා කිරීම මඟින් "Host:" ශීර්ෂය ආදේශ කිරීම මගින් ඉල්ලූ අඩවිය සරලව ප්‍රතිස්ථාපනය කිරීමට හැකි විය. ප්‍රහාරය අන්තර්ගත හැඹිලි පද්ධතිවල අන්තර්ගතය විෂ කිරීමට සහ හැඹිලිගත රහස්‍ය දත්ත උකහා ගැනීමට ද භාවිතා කළ හැක. ක්‍රමයේ උච්චතම අවස්ථාව වූයේ PayPal වෙත ප්‍රහාරයක් සංවිධානය කිරීමයි, එය සත්‍යාපනය කිරීමේදී පරිශීලකයින් විසින් එවන ලද මුරපද වලට බාධා කිරීමට හැකි විය (paypal.com/us/gifts පිටුවේ සන්දර්භය තුළ JavaScript ක්‍රියාත්මක කිරීමට iframe ඉල්ලීම වෙනස් කරන ලදී. කුමන CSP (අන්තර්ගත ආරක්ෂණ ප්‍රතිපත්තිය) යෙදුවේ නැත).

සිත්ගන්නා කරුණ නම්, 2005 දී තිබුණා යෝජනා කළා එක් HTTP සැසියක් තුළ "GET" හෝ "POST" ඉල්ලීම් කිහිපයක් සඳහන් කිරීමෙන් හැඹිලි ප්‍රොක්සි (Tomcat, squid, mod_proxy) හෝ බයිපාස් ෆයර්වෝල් අවහිර කිරීම් වල දත්ත වංචා කිරීමට ඔබට ඉඩ සලසන අත්‍යවශ්‍යයෙන්ම සමාන ඉල්ලීම් වංචා කිරීමේ තාක්ෂණයකි.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න