Odstraňte tajemství z protokolů a souborů HAR, než je budete sdílet
"Můžete mi poslat soubor HAR?" je rozumný požadavek od podpůrného inženýra a nebezpečná věc, které je třeba bezmyšlenkovitě vyhovět. Export HAR je kompletní záznam relace prohlížeče: každý požadavek, každá hlavička odpovědi, každý odeslaný soubor cookie a často také těla odpovědi. Předání neupravené dává příjemci možnost jednat jako vy na libovolném webu v nahrávce, dokud budou tyto relace živé.
Totéž platí, méně zjevně, pro úryvky protokolu, které lidé vkládají do tiketů, vláken Slack a oken chatu po celý den. Vyplatí se mít rutinu.
Co je ve skutečnosti v souboru HAR
HAR je JSON a je svým designem vyčerpávající. V normálním exportu najdete:
- Soubory cookie relací za každou dotčenou doménu, v plné výši, jak byla odeslána. To je ten velký – cookie relace je pověření nosiče a příjemce k jeho použití nepotřebuje vaše heslo.
Authorizationhlavičky, včetně tokenů nosiče a základních autentizačních údajů, které jsou triviálně dekódovatelné.- Tokeny v řetězcích dotazů. Odkazy na resetování hesla, podepsané adresy URL, klíče API předávané jako parametry, kódy OAuth uprostřed procesu.
- Těla žádostí. Vše, co jste během nahrávání zadali do formuláře, včetně přihlašovacího formuláře, pokud nahrávání začalo před vaším přihlášením.
- Odpovědní orgány. V závislosti na možnostech exportu skutečná data — záznamy o zákaznících, detaily účtu, interní užitečné zatížení API.
- Všechno ostatní jste měli otevřené. HAR je na kartě prohlížeče, ale dostávají se do něj také analytické majáky, provoz rozšíření a aktualizace na pozadí z jiných služeb.
The Dezinfekce souborů HAR převezme export a odstraní části nesoucí pověření – soubory cookie, hlavičky auth, tokeny – a ponechá strukturu požadavku a odpovědi nedotčenou, což je to, co osoba ladící váš problém skutečně potřebuje. Vložte to, získejte vyčištěný soubor, připojte jej.
Podívejte se, co posíláte
Dezinfikovat roletu je lepší než nedezinfikovat, ale užitečný zvyk je nejprve hledat. Zkopírujte hlavičky podezřelého požadavku ze svých vývojářských nástrojů a spusťte je přes Analyzátor hlaviček HTTP: rozdělí surový blok na páry název/hodnota, které můžete číst, takže je zřejmé, kdy existuje X-Internal-Auth nebo záhlaví tokenu specifické pro dodavatele, které by obecný vzor redigování nerozpoznal jako tajný.
Cookies si zaslouží svůj vlastní vzhled. Vložit a Cookie nebo Set-Cookie linka do analyzátor souborů cookie a dostanete každý soubor cookie rozdělený s jeho atributy – HttpOnly, Secure, SameSite, expirace. To je kontrola redakce („které z nich jsou tokeny relace?“) a kontrola zabezpečení současně: soubor cookie relace bez HttpOnly nebo s roční expirací je nález sám o sobě a už se na něj díváte.
Terminálový výstup má dva problémy
Vložené protokoly terminálu nesou tajemství – připojovací řetězce, tokeny v příkazech curl, výpisy prostředí – a také nesou sekvence escape ANSI. To jsou důvody, proč se barevné poleno promění ESC[0;32m hluk, když přistane na lístku, a text je pro někoho obtížně čitelný a pro vás obtížné. The ANSI striper odstraní barvy a kódy pro ovládání kurzoru a ponechá text.
Pak redigujte. The editor dat najde opakující se kategorie – e-mailové adresy, IP adresy, telefonní čísla, čísla karet, řetězce ve tvaru klíče – a důsledně je nahradí, takže protokol se stále čte jako souvislá stopa, místo aby se stal zdí [REDACTED]. Při ladění záleží na konzistenci: pokud je stejné uživatelské ID všude nahrazeno stejným zástupným symbolem, může čtenář stále sledovat jeden požadavek na padesáti řádcích.
Porovnání vzoru nezachytí tajemství, které vypadá jako běžný text, proto si před odesláním přečtěte výsledek. Interní názvy hostitelů, jména zákazníků v polích s libovolným textem a cesty k souborům obsahujícím uživatelská jména jsou tři věci, které přežijí každý automatický průchod.
Redakce není rotace
Nejdůležitější bod a ten, který lidé přeskakují: pokud byl pověření již někam odesláno, nemělo zmizet, jeho odstranění z dokumentu nic neřeší. Příjemce ji může mít. Může to být v archivu e-mailů, v systému lístků, na backendu chatu, v něčí místní složce pro stahování nebo v protokolech poskytovatele modelu.
Střídat. Zrušte relaci, zrušte token, otočte klíč API. Poté soubor vyčistěte. V tomto pořadí, protože čištění trvá minutu a rotace je ta část, která vlastně uzavírá expozici.
Vložení do okna chatu znamená publikování
Ladění pomocí asistenta je nyní normální a trasování zásobníku s připojovacím řetězcem je odesláno třetí straně v okamžiku, kdy stisknete Enter. V závislosti na produktu a plánu může být tento text uchován, zkontrolován člověkem nebo použit pro školení. Zacházejte s jakoukoli vložkou do hostovaného modelu jako s převodem na externí stranu – protože to je ono – a dezinfikujte ji přesně tak, jako byste dezinfikovali přílohu externího e-mailu.
To je případ, kdy místní nástroje nejsou preferencí, ale hlavním bodem: každý zde uvedený nástroj běží ve vašem prohlížeči, takže neredigovaná verze souboru není nikdy na cestě k čištění nahrána do ničeho. Dezinfekce protokolu nesoucího tajemství jeho vložením na webovou stránku, která jej zpracovává na serveru, znamená, že tajemství již odešlo, ať už vyčištěný výstup vypadá jakkoli.
Kontrolní seznam, který stojí za to připnout
- Nahrajte HAR v soukromém okně s otevřenou pouze příslušnou kartou a začněte nahrávat po jste přihlášeni.
- Spusťte export přes dezinfekci.
- Otevřete vyčištěný soubor a vyhledejte jej
token,secret,key,auth,passworda vaše vlastní doménová jména. - Odstraňte kódy ANSI z libovolného výstupu terminálu a poté redigujte identifikátory.
- Přečtěte si výsledek od konce do konce. Je kratší, než si myslíte.
- Otočte vše, co bylo živé v originále.
- Pošlete to přes kanál, jehož platnost vyprší, ne přes kanál, který se archivuje navždy.
Šest minut práce proti úniku přihlašovacích údajů, které by jinak stály ve frontě na vstupenky donekonečna.
Tvůrce TextArray – vytváření bezplatných nástrojů na ochranu soukromí, které běží výhradně ve vašem prohlížeči.