Bezpieczny SVG

W jednej aplikacji nad którą pracuje odkryliśmy podatność dotyczącą plików SVG dostarczanych przez użytkowników. Szczegółowe wyjaśnienie jak można wykorzystać Scalable Vector Graphics do zrobienia Stored XSS dobrze opisał Sekurak. Vizzdoom (autor posta na Sekuraku) sugeruje zwracanie odpowiednich nagłówków (Content-Type, X-Content-Type-Options i Content-Security-Policy) – co zawsze jest dobrym pomysłem! a także zachęca do użycia narzędzia SVGPurifier. […]

Optional jako pole i co mi zrobisz?

Od wprowadzenia klasy Optional w JDK 8 minęło już sporo czasu. Sporo też napisano o tym jaki i gdzie jej używać, co jest dobrą praktyką a co złą. Przykład tego można znaleźć w artykule Optional Anti-Patterns. Ale czy to wszystko ma sens? Zgadzam się z wieloma postawionymi tam tezami. Chciałem jednak wejść w polemikę z […]

Archunit i Spock

Jeśli nie wiesz, co to archunit, to przedstawiony kod powie więcej niż niejedna dokumentacja. Jeśli wiesz, ale zastanawiasz się, czy archunit zadziała z Spock to mój przykład udowodni Ci, że działa :)