Rzeczywisty przykład, który pokazuje, w jaki sposób można wykorzystać mechanizm Django middleware do dynamicznej modyfikacji nagłówków w żądaniach HTTP.
CompTIA Security+: Buffer overflows
Swego czasu, bardzo popularne było wykorzystywanie podatności związanych z niewłaściwym zarządzaniem pamięci poprzez tzw. przepełnienie bufora (ang. buffer overflow). Nie wdając się w szczegóły techniczne, atakujący był w stanie wprowadzić więcej danych do aplikacji (input) niż przewidział to jej twórca. Jeśli program otrzymał na wejściu większą liczbę bajtów niż zarezerwowany obszar pamięci...
CompTIA Security+: Cross-site scripting (XSS)
Termin cross-site scripting (XSS) odnosi się generalnie do ataków polegających na wstrzyknięciu (ang. injection) złośliwego skryptu w strukturę zaufanej strony internetowej. Atak XSS następuje w momencie gdy atakujący przemyca złośliwy kod (w formie skryptu wykonywanego przez przeglądarkę internetową), w taki sposób, żeby wykonał się on w kontekście nic nie podejrzewającego użytkownika. Jest to...
SQL injection w Django (CVE-2021-35042)
Artykuł jest poświęcony stosunkowo świeżej podatności, bo z roku 2021, znalezionej w kodzie frameworka webowego Django. Umożliwia ona wstrzyknięcie własnego kodu SQL do klauzuli ORDER BY, pod pewnymi warunkami. Zapraszam do dalszej lektury. Uwaga! Ten wpis powstał wyłącznie w celach edukacyjnych. Informacje w nim zawarte mogą służyć jedynie do testowania podatności w kontrolowanych środowiskach...
Handling Celery events (EN)
The code used in this article was written for Celery 5.0.5 but it should work with older versions as well (4.1.1 and higher). It’s available on GitHub. According to the Celery official documentation, a worker is able to generate events if something relevant happens. Those events can be consumed by monitoring tools like Flower, so […]
CHAR, VARCHAR i TEXT w PostgreSQL
Często się zdarza, że programista jest zmuszony zmodyfikować istniejącą strukturę bazy danych bądź zaprojektować takową od podstaw. Definiując nową tabelę musi zastanowić się jakiego typu powinna być kolumna przechowująca określone dane. Jest to dosyć istotna decyzja, ponieważ jej skutki mogą być odczuwalne, w dotkliwy sposób, w późniejszym etapie realizacji projektu. Nieprzemyślana struktura...
OneNote API & OAuth2
Niniejszy post, zgodnie z obietnicą, opisuje bardzo prostą aplikację webową, która wyświetla użytkownikowi listę jego notatników OneNote. Notatniki są pobierane przy użyciu odpowiedniego zapytania OneNote API, a proces uzyskania dostępu opiera się na protokole OAuth 2.0. Oznacza to, że użytkownik uzyskuje dostęp do swoich notatników dopiero po pomyślnym przejściu procesu uwierzytelnienia za...
OneNote API – uwierzytelnienie i autoryzacja
Wprowadzenie OneNote zapewnia bezpieczny dostęp do swoich notesów za pośrednictwem dwóch usług: konta Microsoft (znanego wcześniej jako Live Connect) oraz Azure Active Directory (AD). Oznacza to, że użytkownik korzystający z zewnętrznej aplikacji, aby otrzymać dostęp do notesów OneNote, musi pomyślnie przejść proces uwierzytelnienia, czy to za pośrednictwem konta MS, czy Azure AD. Wybór...