02 : DevLog

niedziela, 17 stycznia 2021

Inżynieria wsteczna .NET — dnSpy, cracking i obfuskacja

Aplikacja skompilowana w C# to nie czarna skrzynka — jej kod IL można odczytać i zmodyfikować. Jak wygląda dekompilacja w dnSpy, na czym polega podmiana skompilowanego assembly i dlaczego obfuskacja nie jest prawdziwym zabezpieczeniem?

Discover

sobota, 12 grudnia 2020

Wzorzec czynnościowy — Mediator

Pięć klas i każda zna każdą. Zmiana jednej wymaga poprawek we wszystkich pozostałych. Mediator wchodzi pośrodku — teraz każdy zna tylko jego. Połączenia znikają, a komunikacja zostaje.

Discover

środa, 25 listopada 2020

Ładunki sieciowe — connect-back i bind

Co napastnik wdraża po znalezieniu luki? Dwa podstawowe ładunki sieciowe — connect-back i bind — napisane w C# z omówieniem kluczowych klas: TcpClient, TcpListener i ProcessStartInfo.

Discover

sobota, 10 października 2020

Fuzzowanie endpoint-ów SOAP

Dlaczego udostępnianie serwisu SOAP z dokumentem WSDL to wygoda dla developerów na etapie rozwoju, ale zagrożenie na produkcji? WSDL to mapa — zawiera nazwy wszystkich metod, typy parametrów i adresy endpointów. Przygotujemy fuzzer do automatyzacji testowania podatności.

Discover

sobota, 05 września 2020

Eksploitacja iniekcji SQL — UNION i Boolean-blind

Znaleźć lukę to połowa roboty. Jak napastnik wyciąga dane z bazy przez podatny parametr — techniki UNION i Boolean-blind w praktyce, z kodem w C#.

Discover

niedziela, 30 sierpnia 2020

Wzorzec czynnościowy — Interpreter

Piszesz "2d6+3" i silnik gry wie: rzuć dwoma sześciościennymi kośćmi i dodaj trzy. Tę małą notację trzeba rozłożyć na tokeny, złożyć w drzewo i obliczyć wynik. Wzorzec Interpreter zamienia tekst w wykonywalną strukturę.

Discover

poniedziałek, 20 lipca 2020

Skrypty krzyżowe — XSS w praktyce

Czym są ataki XSS i co mają wspólnego z iniekcją SQL? Jak wygląda podatna aplikacja od środka i jak napisać prosty fuzzer w C#, który znajdzie lukę zanim zrobi to ktoś inny.

Discover

niedziela, 21 czerwca 2020

Wzorzec strukturalny — Kompozyt

Piszesz metodę GetSize(). Nie chcesz sprawdzać, czy to plik, czy folder — po prostu chcesz znać rozmiar. Wzorzec Kompozyt sprawia, że pytanie zadane plikowi i pytanie zadane folderowi wygląda dokładnie tak samo.

Discover

piątek, 08 maja 2020

Iniekcji SQL w praktyce

Czym jest SQL injection? Jak wygląda anatomia ataku oraz jak zabezpieczyć kod aplikacji. Odpowiedzi na zadane pytania wraz z garścią dodatkowych informacji w krótki wpisie. Atak typu SQL injection wykorzystuje luki w aplikacji, pozwalając na nieautoryzowany dostęp do danych.

Discover

poniedziałek, 20 kwietnia 2020

Wzorzec czynnościowy — Polecenie

Klikasz "Cofnij" w edytorze i zmiany znikają. Bufor cofania nie wie nic o tym, co zrobiłeś — przechowuje tylko polecenia. Każde polecenie niesie ze sobą wszystko, co potrzebne — jak wykonać operację i jak ją odwrócić. To wystarczy do zbudowania pełnej historii operacji.

Discover