Wstęp W poprzednim artykule uporządkowaliśmy sprawy związane z konfiguracją pluginu Infinity i obsługą podstawowych zapytań API. Jeżeli po pierwszych testach z API Zabbix zauważyłeś, że wyniki przypominają bardziej losową zupę JSON niż dane gotowe do wizualizacji, to mam dobrą wiadomość: nie jesteś sam. Na szczęście, by rozwiązać ten problem, na…
Czytaj dalej »
Dalsza część opowieści Na sam początek wróćmy do naszej hipotetycznej sytuacji z >poprzedniego artykułu. Musiałeś napisać zapytanie pokazujące maksymalną ilość zalogowanych użytkowników w wybranym przedziale czasu na dashboardzie – wyłącznie dla systemów Ubuntu (ustaliliśmy, że informacja ta znajduje się w inwentarzu hosta). Utworzyłeś więc panel z następującym zapytaniem: SELECT h.host…
Czytaj dalej »
Rozwiązania do automatycznego formatowania i upiększania kodu są popularne wśród programistów. Istnieją też narzędzia, które pozwalają na przetwarzanie (ładne formatowanie, usuwanie zbędnych znaków w celu zmniejszenia objętości) danych zawartych w strukturach typu JSON czy XML. Nie ma w tym nic złego, o ile operacje tego typu wykonywane są lokalnie. Istnieją jednak serwisy, które pozwalają na przetwarzanie…
Czytaj dalej »
Chodzi o niby znaną od dłuższego czasu klasę Mass Assignment, która najwyraźniej przeżywa drugą młodość. Przesyłasz np. JSON-em dane nowego użytkownika do API, co jest mapowane na stosowny obiekt i zapisywane do bazy. Proste ale i niebezpieczne. Bo co się stanie, jeśli ktoś do JSON-a doda klucz “admin”: true ?. Będziemy…
Czytaj dalej »
Wycieki kluczy, 20 realnych przykładów podatności w API (m.in. z UBER, Airbnb, Twitter, Facebook, Nissan, Github, Equifax, Cisco…), wykonywanie kodu na serwerze przez API, ćwiczenia online, masa praktyki… to kilka elementów z naszego nowego szkolenia o bezpieczeństwie API REST.
Czytaj dalej »
Parę dni temu światło dzienne ujrzał projekt ysoserial.net – czyli dotnetowy odpowiednik słynnego javovego ysoserial. Program generuje odpowiedni ciąg znaków, który po deserializacji na serwerze, powoduje wykonanie na nim wskazanego przez atakującego kodu. Konkretny przykład tego typu dotnetowego buga można zobaczyć tutaj (deserializacja z JSON), tutaj (deserializacja ciasteczka mającego chronić przed…
Czytaj dalej »