Sebastian Krause burimin e mospajtimeve të çuditshme me shërbimin skripta , që përdoret për automatizimin e marrjes së certifikatave TLS përmes protokollit ACME. Bypass funksionon edhe me klientin standard, si dhe me uacme, por jo me dehydrated (në fakt, ai gjithashtu funksionoi me disa manovra, por vetëm në mënyrën dns-1).
Arsyeja doli tĂ« ishte e thjeshtĂ«: nĂ« vend qĂ« tĂ« analizonte pĂ«rgjigjen nĂ« formatin JSON siç duhet, autori i dehydrated pĂ«rdori njĂ« veçori tĂ« formatimit tĂ« cilĂ«sdo zakon tĂ« daljes JSON nga shĂ«rbimi Letâs Encrypt dhe e bĂ«ri analizĂ«n pĂ«rmes shprehjes sĂ« rregullt. Por Bypass kthen njĂ« JSON tĂ« minimizuar, jo tĂ« bukur, dhe shprehja e rregullt e pĂ«rdorur nuk e funksionoi. Qashtja e caktuar nuk pĂ«rjashton shfaqjen e problemeve me LetsEncrypt, nĂ«se ky shĂ«rbim ndĂ«rron formatin e lĂ«shimit pa paralajmĂ«rim nĂ« tĂ« ardhmen, duke qĂ«ndruar brenda protokollit zyrtar.
Gjatë diskutimit të problemit, u propozua përdorimi i një parseri të jashtëm JSON, si ose (shtoni në pipe 'jq -r " .authorizations | .[]"' për një analizë korrekte).
Një mangësi e këtij qasje është mjegullimi i ideve për të përdorur mjete minimale dhe lehtësisht të verifikueshme, si dhe problemet me përpunimin e gabimeve.
Autori i projektit dehydrated (projekti sapo u nĂ« kompaninĂ« Apilayer GmbH) , se parseti JSON Ă«shtĂ« njĂ« problem i madh, por ai nuk e sheh si njĂ« ide tĂ« mirĂ« tĂ« shtonte parserĂ« tĂ« jashtĂ«m, pasi njĂ« nga karakteristikat kryesore tĂ« skriptit Ă«shtĂ« mungesa e varĂ«sive tĂ« jashtme. NĂ« kĂ«tĂ« moment ai Ă«shtĂ« i zĂ«nĂ«, por shpreson tĂ« merret me zgjidhjen e problemit nĂ« ditĂ«t nĂ« vijim. NdĂ«r planet Ă«shtĂ« pĂ«rmirĂ«simi i parserit JSON ose integrimi i njĂ« parseri tĂ« gatshĂ«m nĂ« gjuhĂ«n shell â .
Burimi: opennet.ru
