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
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
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
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
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
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
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
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
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
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