Deserializacja – niebezpieczna metoda (ataku hakerskiego, testu penetracyjnego, działań wywiadowczych – określenia zamienne ;))

W większości języków programowania możemy tworzyć obiekty – czyli instancje klas. Każdy z obiektów może przechowywać jakieś dane. Czasami istnieje potrzeba, aby te dane gdzieś zapisać.

Serializacja to sposób na przechowywanie obiektów lub struktur tak, aby mogły być łatwo zachowane i transmitowane.  Serializacja to generyczna nazwa i w różnych językach programowania te nazwy mogą się nieco różnić.

W Ruby, to “marshalling”, w go “gobbing” a w Python “pickling”.

Z niebezpieczną deserializacją mamy do czynienia jeżeli to użytkownik kontroluje zawartość zserializowanego obiektu. Serwer, aby przetworzyć tak zapisany obiekt, musi bowiem wykonać operację odwrotną, nazywaną deserializacją.

PHP

W PHP za deserializację odpowiedzialna jest funkcja unserialize.

Java

Java również jest podatna na ten rodzaj błędów. Powstało wiele prezentacji na ten temat:

.NET

.NET również nie ustrzegł się tej klasy podatnosci:

Inne przykłady

Ruby również nie jest bezpieczne (zobacz CVE 2020–8165).

A jeżeli używasz plików YAML w Pythonie – zobacz ten materiał.

Na Deserialization Cheat Sheet znajdziesz krótkie podsumowanie.

Sporo tego materiału :). Pora na ćwiczenia praktyczne.

Tagi:

Podziel się postem :)

Najnowsze:

Militaria

Wyrzutnie rakietowe HIMARS już w Ukrainie. Zobacz je w akcji!

Jak poinformował ukraiński rząd, pierwsze systemy artylerii rakietowej HIMARS są już w rękach ukraińskich żołnierzy. Broń trafiła tam w ramach pomocy wojskowej Stanów Zjednoczonych i w sieci pojawiło się już nagranie rzekomo prezentujące je w akcji.

Mobilne

Aplikacje, które pomogą uniknąć mandatu podczas wakacji. Poznaj je!

Zbliżające się wakacje wiążą się z wyjazdami, a wiele osób decyduje się na podróż własnym autem. Warto jednak mieć na uwadzę, że rok 2022 stoi pod znakiem podwyżek i dotyczy to również kar za przekroczenie prędkości na polskich drogach. O “mandatach grozy” z pewnością usłyszymy tego lata wielokrotnie, a dzięki tym aplikacjom kierowcy z wyprzedzeniem dostaną informację o najbliższych fotoradarach.

Oprogramowanie

W jakim stopniu przeglądarki są dziś zgodne ze standardem HTML?

Dyskusje na temat zgodności przeglądarek z HTML5 całkowicie ucichły. Wróciliśmy do sytuacji sprzed dwóch dekad, gdy rozpatrywano jedynie zgodność stron z przeglądarką, a nie standardem. Czyżby wszyscy byli już zgodni z HTML5?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.