Odstranite skrivnosti iz dnevnikov in datotek HAR, preden jih delite
"Ali mi lahko pošljete datoteko HAR?" je razumna zahteva podpornega inženirja in nevarna stvar, ki bi ji lahko brez razmišljanja ugodili. Izvoz HAR je popoln posnetek seje brskalnika: vsaka zahteva, vsaka glava odgovora, vsak poslan piškotek in pogosto tudi telesa odgovora. Predaja enega neurejenega daje prejemniku možnost, da deluje kot vi na katerem koli mestu v tem posnetku, dokler te seje živijo.
Enako velja, manj očitno, za izrezke dnevnikov, ki jih ljudje ves dan prilepijo v vstopnice, teme Slack in okna za klepet. Vredno je imeti rutino.
Kaj je dejansko v datoteki HAR
HAR je JSON in je po zasnovi izčrpen. Pri običajnem izvozu boste našli:
- Sejni piškotki za vsako dotaknjeno domeno v celoti, kot je poslano. Ta je velik — sejni piškotek je nosilna poverilnica in prejemnik za njegovo uporabo ne potrebuje vašega gesla.
Authorizationglave, vključno z nosilnimi žetoni in poverilnicami za osnovno preverjanje, ki jih je mogoče trivialno dekodirati.- Žetoni v poizvedbenih nizih. Povezave za ponastavitev gesla, podpisani URL-ji, ključi API-ja, posredovani kot parametri, kode OAuth med tokom.
- Organi zahtevkov. Vse, kar ste vnesli v obrazec med snemanjem, vključno z obrazcem za prijavo, če se je snemanje začelo, preden ste se prijavili.
- Odzivna telesa. Odvisno od možnosti izvoza, dejanski podatki – zapisi o strankah, podrobnosti o računu, obremenitve notranjega API-ja.
- Vse drugo, kar ste imeli odprto. HAR je na zavihek brskalnika, vendar analitični svetilniki, promet razširitev in osvežitve ozadja iz drugih storitev prav tako pristanejo v njem.
The Razkužilo datotek HAR prevzame izvoz in odstrani dele, ki nosijo poverilnice – piškotke, glave za preverjanje avtorizacije, žetone – medtem ko pusti strukturo zahteve in odgovora nedotaknjeno, kar dejansko potrebuje oseba, ki odpravlja napake pri vaši težavi. Prilepite, dobite očiščeno datoteko in jo priložite.
Poglejte, kaj pošiljate
Razkuževanje zavese je boljše kot nerazkuževanje, a koristna navada je najprej iskanje. Kopirajte glave sumljive zahteve iz svojih orodij za razvijalce in jih poženite skozi Razčlenjevalnik glave HTTP: neobdelani blok razdeli na pare ime/vrednost, ki jih lahko preberete, zaradi česar je očitno, ko obstaja X-Internal-Auth ali glava žetona, specifična za prodajalca, ki je generični vzorec redigiranja ne bi prepoznal kot skrivnost.
Piškotki si zaslužijo svoj videz. Prilepite a Cookie oz Set-Cookie vrstico v razčlenjevalnik piškotkov in dobiš vsak piškotek z njegovimi atributi - HttpOnly, Secure, SameSite, potek. To je preverjanje redakcije ("kateri od teh so žetoni seje?") in varnostni pregled hkrati: sejni piškotek brez HttpOnly ali z enoletnim rokom uporabe je samostojna ugotovitev in jo že gledate.
Izhod terminala ima dve težavi
Prilepljeni terminalski dnevniki vsebujejo skrivnosti - povezovalne nize, žetone v ukazih curl, izpise okolja - in vsebujejo tudi ubežna zaporedja ANSI. To je razlog, v katerega se spremeni pisan hlod ESC[0;32m hrup, ko pristane v vozovnici, zaradi česar je besedilo težko prebrati, vi pa težko iskati. The ANSI odstranjevalec odstrani barvo in kodo za nadzor kazalca ter pusti besedilo.
Potem popravi. The urejevalnik podatkov najde ponavljajoče se kategorije – e-poštne naslove, naslove IP, telefonske številke, številke kartic, nize v obliki ključev – in jih dosledno zamenja, tako da se dnevnik še vedno bere kot skladna sled, namesto da postane stena [REDACTED]. Doslednost je pomembna, ko odpravljate napake: če je isti ID uporabnika povsod zamenjan z istim nadomestnim znakom, lahko bralec še vedno sledi eni zahtevi v petdesetih vrsticah.
Ujemanje vzorcev ne bo ujelo skrivnosti, ki je videti kot običajno besedilo, zato preberite rezultat, preden ga pošljete. Notranja imena gostiteljev, imena strank v poljih s prostim besedilom in poti do datotek, ki vsebujejo uporabniška imena, so tri stvari, ki preživijo vsak avtomatiziran prehod.
Redakcija ni rotacija
Najpomembnejša točka, ki jo ljudje preskočijo: če je poverilnica že bila nekam poslana, ne bi smela oditi, odstranitev iz dokumenta ne naredi ničesar. Prejemnik ga lahko ima. Lahko je v e-poštnem arhivu, sistemu vstopnic, zaledju klepeta, lokalni mapi za prenos nekoga ali dnevnikih ponudnika modela.
Zasukaj. Razveljavite sejo, prekličite žeton, zavrtite ključ API. Nato očistite datoteko. V tem vrstnem redu, ker čiščenje traja minuto in je vrtenje tisti del, ki dejansko zapre osvetlitev.
Lepljenje v okno za klepet je objava
Odpravljanje napak s pomočnikom je zdaj običajno in sled sklada s povezovalnim nizom v njem gre tretji osebi v trenutku, ko pritisnete enter. Odvisno od izdelka in načrta se lahko to besedilo obdrži, pregleda oseba ali uporabi za usposabljanje. Obravnavajte kakršno koli lepljenje v gostujoči model kot prenos zunanji osebi – ker to je – in ga očistite natanko tako, kot bi očistili prilogo k zunanji e-pošti.
To je primer, ko lokalno orodje ni prednostna naloga, ampak bistvo: vsako orodje, imenovano tukaj, se izvaja v vašem brskalniku, tako da se neredigirana različica datoteke nikoli ne naloži v nič na poti do čiščenja. Saniranje dnevnika s skrivnostmi tako, da ga prilepite na spletno mesto, ki ga obdeluje na strežniku, pomeni, da je skrivnost že odšla, ne glede na to, kako izgleda očiščen izpis.
Kontrolni seznam, ki ga je vredno pripeti
- Posnemite HAR v zasebnem oknu z odprtim samo ustreznim zavihkom in začnite snemati po prijavljeni ste.
- Zaženite izvoz skozi čistilo.
- Odprite očiščeno datoteko in jo poiščite
token,secret,key,auth,passwordin lastna imena domen. - Odstranite kode ANSI s katerega koli terminalskega izhoda in nato popravite identifikatorje.
- Preberite rezultat od konca do konca. Krajši je, kot si mislite.
- Zavrtite vse, kar je bilo živo v izvirniku.
- Pošljite ga prek kanala, ki poteče, ne tistega, ki se večno arhivira.
Šest minut dela proti uhajanju poverilnic, ki bi sicer stal v čakalni vrsti za nedoločen čas.
Ustvarjalec TextArray – gradnjo brezplačnih orodij, ki so na prvem mestu zasebnosti in se v celoti izvajajo v vašem brskalniku.