Ionnsaigh air siostaman aghaidh aghaidh-cùil a leigeas leinn gluasad a-steach gu iarrtasan treas-phàrtaidh

Nochd mion-fhiosrachadh mu ionnsaigh ùr air làraich a bhios a’ cleachdadh modal aghaidh-cùil-cùil, leithid an fheadhainn a tha a’ ruith tro lìonraidhean lìbhrigidh susbaint, luchd-cothromachaidh luchdan no proxies. Tha an ionnsaigh a’ ceadachadh, le bhith a’ cur cuid de dh’ iarrtasan, a-steach do shusbaint iarrtasan eile air an giullachd san aon snàithlean eadar an aghaidh agus an deireadh-aghaidh. Chaidh an dòigh a chaidh a mholadh a chleachdadh gu soirbheachail gus ionnsaigh a chuir air dòigh a rinn e comasach casg a chuir air crìochan dearbhaidh luchd-cleachdaidh na seirbheis PayPal, a phàigh timcheall air 40 mìle do luchd-rannsachaidh mar phàirt de phrògram gus fiosrachadh a thoirt seachad mu làthaireachd so-leòntachd neo-leasaichte. Tha an ionnsaigh cuideachd buntainneach do làraich a tha a’ cleachdadh lìonra lìbhrigidh susbaint Akamai.

Is e cridhe na trioblaid gu bheil frontends agus backends gu tric a’ toirt seachad diofar ìrean de thaic don phròtacal HTTP, ach aig an aon àm a’ cuairteachadh iarrtasan bho luchd-cleachdaidh eadar-dhealaichte gu seanal cumanta. Gus na h-iarrtasan faighinn aghaidh agus na h-iarrtasan giollachd backend a cheangal, tha ceangal TCP fad-ùine air a stèidheachadh, tro am bi iarrtasan luchd-cleachdaidh air an sgaoileadh, air an tar-chuir air feadh an t-sreath aon às deidh a chèile, air a sgaradh le protocol HTTP. Gus iarrtasan a sgaradh, bidh na cinn-cinn "Content-Length" (a 'dearbhadh meud iomlan an dàta san iarrtas) agus"Tar-chòdachadh: air a sgoltadh"(a' leigeil leat dàta a ghluasad ann am pàirtean, a' sònrachadh bhlocaichean de dhiofar mheudan san fhòrmat "{size}\r\n{block}\r\n{size}\r\n{block}\r\n0")."

Bidh an duilgheadas ag èirigh mura h-eil an aghaidh aghaidh a’ toirt taic ach do “Content-Length” ach nach toir e seachad “Còdachadh gluasaid: chunked” (mar eisimpleir, rinn Akamai CDN seo) no a chaochladh. Ma tha tar-chur-còdachadh: toked a’ faighinn taic air gach taobh, faodar feartan buileachaidh parsers cinn HTTP a chleachdadh airson ionnsaigh (mar eisimpleir, nuair a bhios an ceann aghaidh a’ seachnadh loidhnichean mar “Transfer-Encoding: xchunked”, “Transfer-Encoding: chunked " , "Transfer-Còdadh" :[tab]chunked", "X: X[\n]Transfer-Còdachadh: chunked", "Transfer-Còdachadh[\n]: chunked" no "Transfer-Còdachadh : chunked", agus bidh an backend gan làimhseachadh gu soirbheachail).

Anns a 'chùis seo, faodaidh neach-ionnsaigh iarrtas a chuir a-steach anns a bheil an dà chuid "Content-Length" agus "Transfer-Encoding: toked" headers, ach chan eil am meud ann an "Content-Length" a 'freagairt ri meud an t-sèine chruinn, a tha nas lugha na an fhìor luach. Ma bhios an frontend a’ pròiseasadh agus a’ cur air adhart an t-iarrtas a rèir “Content-Length” agus an backend a’ feitheamh ris a’ bhloc a chrìochnachadh stèidhichte air “Transfer-Encoding: chunked”, bidh deireadh an dàta stèidhichte air “Transfer-Encoding: chunked” a bhith air a dhearbhadh nas tràithe agus an earball a tha air fhàgail den iarrtas nochdaidh an neach-ionnsaigh aig toiseach an ath iarrtas, i.e. bidh an neach-ionnsaigh comasach air dàta neo-riaghailteach a cheangal ri toiseach iarrtas cuideigin eile a thèid a chuir a-rithist.

Ionnsaigh air siostaman aghaidh aghaidh-cùil a leigeas leinn gluasad a-steach gu iarrtasan treas-phàrtaidh

Gus faighinn a-mach dè an duilgheadas anns a’ mheasgachadh frontend-backend a chaidh a chleachdadh, faodaidh tu iarrtas mar seo a chuir tron ​​​​aghaidh:

POST / mu dheidhinn HTTP / 1.1
Neach-aoigheachd: example.com
Tar-chòdachadh: air a sgoltadh
Fad susbaint: 4

1
Z
Q

Tha an duilgheadas an làthair mura h-eil an backend a’ pròiseasadh an iarrtais sa bhad agus a’ feitheamh ris a’ bhloc crìochnachaidh neoni mu dheireadh de dhàta cruinn a ruighinn. Airson sgrùdadh nas coileanta ullaichte goireas sònraichte a bhios cuideachd a ’dèanamh deuchainn air dòighean a dh’ fhaodadh a bhith a ’falach bann-cinn“ Transfer-Encoding: chunked ”bhon aghaidh.

Tha a bhith a’ dèanamh fìor ionnsaigh an urra ri comasan na làraich air an deach ionnsaigh, mar eisimpleir, nuair a bheir thu ionnsaigh air an aplacaid lìn Trello, faodaidh tu toiseach an iarrtais a chuir na àite (dàta ionaid mar “PUT /1/members/1234... x=x&csrf = 1234&username=testzzz&bio=cake”) agus cuir teachdaireachd a’ toirt a-steach iarrtas tùsail neach-cleachdaidh treas-phàrtaidh agus a’ bhriosgaid dearbhaidh a chaidh a shònrachadh ann. Airson ionnsaigh air saas-app.com, thionndaidh e a-mach gu robh e comasach còd JavaScript a chuir an àite an fhreagairt le bhith ga chuir an àite aon de na paramadairean iarrtas. Airson an ionnsaigh air redhat.com, chaidh inneal-làimhseachaidh a-staigh a chleachdadh gus ath-stiùireadh gu làrach-lìn an neach-ionnsaigh (iarrtas bhon fhoirm “POST /search?dest=../assets/idx?redir=//[post-d fo dhìon]/ HTTP/1.1").

Le bhith a’ cleachdadh an dòigh airson lìonraidhean lìbhrigidh susbaint bha e comasach dìreach an làrach a chaidh iarraidh a chuir na àite le bhith a’ cur an ceann “Host:" an àite. Faodar an ionnsaigh a chleachdadh cuideachd gus susbaint shiostaman tasgadan susbaint a phuinnseanachadh agus gus dàta dìomhair glèidhte a tharraing. B’ e binnean an dòigh ionnsaigh air PayPal a chuir air dòigh, a rinn e comasach casg a chuir air faclan-faire a chuir luchd-cleachdaidh a-steach aig àm dearbhaidh (chaidh an t-iarrtas iframe atharrachadh gus JavaScript a chuir an gnìomh ann an co-theacsa duilleag paypal.com/us/gifts, airson dè an CSP (Poileasaidh Tèarainteachd Susbaint) nach deach a chuir an sàs).

Gu inntinneach, ann an 2005 bha air a mholadh innleachd spoofing iarrtas a tha gu ìre mhòr coltach ris a leigeas leat dàta a spoofadh ann an caching proxies (Tomcat, squid, mod_proxy) no seach-rathad bacadh balla-teine ​​​​le bhith a’ sònrachadh grunn iarrtasan “GET” no “POST” taobh a-staigh aon seisean HTTP.

Source: fosgailtenet.ru

Cuir beachd ann