WEP lekcja #21 – Błędy w implementacji kodu captcha w PHP

W dzisiejszej lekcji powiemy sobie o mechanizmach przepisywania kodu z obrazka na stronach internetowych. Jest to tzn. captcha. Tego typy mechanizmy stosuje się w celu weryfikacji czy internauta jest rzeczywiście człowiekiem. Tego typu zabezpieczenie jest świetnym rozwiązaniem stosowanym w walce ze spamem, złośliwymi botami internetowymi, ochroną przed brute-force i innymi skryptami automatyzującymi ataki hakerskie.

Czy jednak zawsze mechanizm captcha jest bezpieczny? Sztampowe rozwiązania np: reCAPTCHA od Google na chwile obecną uważane są za bezpieczne. Co prawda w przeszłości istniały próby rozpoznawania kodu z obrazka za pomocą technik do rozpoznawania tekstu na zdjęciach typu OCR, nauczanie maszynowe, sieci neuronowe etc. Jednak dzisiaj tego typu badania na temat bezpieczeństwa są prowadzane jedynie w środowiskach akademickich.

W dzisiejszym wpisie chcielibyśmy zwrócić Twoją uwagę na błędy w implementacji pewnych mechanizmów na stronach internetowych. Pokażemy jak poprzez nieprzemyślany algorytm zaprojektowany przez programistę może dojść do nadużyć ze strony crackera…
Czytaj więcej

WEP lekcja #20 – SQLMAP i jSQL tutorial – narzędzia do SQL Injection w Kali Linux

Dzisiaj czas na narzędzia dostępne w systemie operacyjnym Kali Linux 2016.1 dedykowane do testów bezpieczeństwa związanych z atakami SQL Injection. Na pierwszy ogień pójdzie aplikacja jSQL Injection. Program umożliwia zarówno detekcje luki typu Blind SQL Injection jak i zwykłej standardowej podatności związanej z bazą danych.

Dużą zaletą jest oczywiście interfejs graficzny i możliwość wykorzystania dodatkowych ciasteczek i nagłówków przeglądarki internetowej. Większość funkcji można po prostu wyklikać myszką. Aplikacja posiada dodatkowe możliwości w postaci modułu do wyszukiwania ciekawych plików na serwerze, a nawet umożliwia wykonanie ataku brute-force na odnalezione hashe. Kolejnym narzędziem wspomagającym jest hashidentifier pozwalający dokonania detekcji algorytmu funkcji mieszającej.

Ostatnim świetnym programem bomba jest sqlmap, służący do pełnej automatyzacji ataku SQL Injection. Na uwagę zasługuje fakt, że narzędzie umożliwia również automatyczne wyszukiwanie nazw baz danych, tabel, kolumn i dodatkowo na łamanie wartości hash np: MD5. Sqlmap dedykowany jest dla większości systemów bazodanowych. Podobnym narzędziem dedykowanym dla Microsoft SQL Server jest sqlninja.

Na samym końcu pokażemy Tobie sztuczkę umożliwiającą zapisanie złośliwego SHELLA PHP, za pomocą zapytania SQL into OUTFILE w bazach danych MySQL.
Czytaj więcej

WEP lekcja #19 – Blind SQL injection tutorial, Burp Suite i wyciąganie hasła MD5 (hash)

W dzisiejszym tutorial zajmiemy się atakiem Blind SQL Injction. Tego typu podatność różni się od zwykłego ataku SQL tym, że skrypt nie wyświetla żadnych informacji zwrotnych z bazy danych. Przykładem może być zapytanie SELECT, które tylko sprawdza czy w bazie danych istnieje dany użytkownik czy też nie. Nie zwraca żadnych informacji o tej osobie z DB (nawet loginu), ani nawet błędu składni SQL.

Wbrew pozorom za pomocą podatności typu blind można również wyciągnąć wszystkie informacje z bazy danych. Jest to jednak trochę bardziej uciążliwe i przypomina atak brute-force lub słownikowy. Nie przejmuj się, tak naprawdę po zrozumieniu idei atak jest bardzo prosty, skuteczny. Miej na uwadze że luka mimo że nadal bardzo często występuje, to jej samo znalezienie jest trochę trudniejsze.
Czytaj więcej

WEP lekcja #18 – SQL injection tutorial, UNION SELECT i phpMyAdmin w praktyce

Dzisiaj kontynuujemy temat ataków SQL Injection przechodząc do praktyki w skrypcie treningowym Damn Vulnerable Web Application. Dzisiaj poznasz klauzurę UNION SELECT umożliwiającą zebranie i złączenie wyników z kilku tabel bazy danych MySQL.

Mam nadzieje że wziąłeś sobie do serca poprzednią pracę domową i już co nieco o tej klauzurze wiesz. Najważniejsze jest zrozumienie faktu, że do jej użycia wymagana jest znajomość liczby kolumn w zapytaniu poprzedzającym (SELECT). W naszym filmie zademonstrujemy Tobie najprostszy sposób między innymi na poznanie liczby kolumn. Ostatecznie z dzisiejszego szkolenia dowiesz się jaki jest login i hasło administratora strony.
Czytaj więcej

WEP lekcja #17 – Wprowadzenie do SQL Injection, phpMyAdmina i MySQL w teorii

Przechodzimy do kolejnej grupy filmów dotyczących nauki SQL Injection. Podatność ta polega na niefiltrowaniu danych pochodzących od użytkownika strony internetowej. Najczęściej występuje w przypadku, gdy do wykonania zapytania do bazy danych potrzebne są dodatkowe informacje od internauty a programista nie sprawdza ich pod względem poprawności technicznej.

Dzięki wstrzykiwaniu zapytań SQL napastnik może pobierać, modyfikować a nawet usuwać elementy z bazy danych. Wszystko oczywiście zależy od konfiguracji w naszym przypadku serwera MySQL. Najczęściej jednak wykorzystuje się do tego ataku hakerskiego klauzurę UNION SELECT, umożliwiającą pobranie dodatkowych informacji z bazy danych takich jak loginy i hasła użytkownika. Dzisiaj w tym poradniku zajmiemy się jedynie wprowadzeniem do tego zagadnienia.
Czytaj więcej

WEP lekcja #16 – BeEF-XSS czyli apka do ataków cross-site scripting, socjotechnicznych i CSRF…

Dzisiaj omówimy narzędzie hakerskie BeEF-XSS. Po rozwinięciu tego akronimu otrzymujemy jego pełną nazwę, czyli Browser Exploitation Framework. W skrócie jest to aplikacja o olbrzymich możliwościach umożliwiająca w prosty sposób przeprowadzenie zaawansowanego ataku typu reflected XSS lub stored XSS.

Program generuje specjalny kod HTML, który cyberprzestępca wstrzykuje na podatnej stronie internetowej. Ten fragmencik kodu tak naprawdę jest odwołaniem do skryptu w języku JavaScript napisanego przez autorów programistów BeEF. Mnogość gotowych funkcji i możliwości zaimplementowanych w programie Browser Exploitation Framework jest naprawdę imponująca. Umożliwia on między innymi przeprowadzanie kradzieży ciasteczek, wykonywanie złośliwych zapytań GET/POST umożliwiających w tle wykonanie akcji np: ataku typu CSRF, wykonanie detekcji oprogramowania na zainfekowanych komputerach, wykonanie ataku phishingowego na konto Facebook, Gmail lub YouTube (Pretty Thieft) i wiele więcej.
Czytaj więcej

WEP lekcja #15 – Atak XSS i kradzież cookies, czyli session hijacking w praktyce

Dzisiaj zademonstrujemy Tobie atak XSS połączony z kradzieżą ciasteczek (session hijacking).  Umożliwi on Tobie przećwiczenie umiejętności przejmowania konta internetowego niczym zły haker bez znajomości hasła. Jeden z poprzednich filmów nr. #6 wykorzystujący program automatyzujący Cookie Cadger cieszył się większym zainteresowaniem niż reszta więc i dziś powinieneś być i Ty zadowolony.

W wideo pokazujemy sposób na stworzenie bardzo prostego sniffera PHP, który umożliwi z pomocą prostych instrukcji przekierowania JavaScript przejęcie ciasteczka sesyjnego phpsessid skryptu DVWA. Poznasz również właściwość document.cookie języka JS.
Czytaj więcej

WEP lekcja #14 – Atak CSRF z użyciem cross-site scripting (XSS)

W dzisiejszym wideo kontynuującym temat ataków cross-site scripting, powiemy sobie wracając ponownie do ataku CSRF o automatycznej zmianie hasła za pomocą zapytania HTTP GET. Jak pamiętasz za pomocą spreparowanego linku i podatności typu cross-site request forgery haker mógł zmienić w podstępny sposób hasło użytkownika witryny internetowej.

Teraz pokażemy jak taki atak crackerski można zautomatyzować z pomocą JavaScript i luki  reflected lub stored XSS. Wykorzystamy do tego przykładowy mechanizm komentarzy dostępny w skrypcie szkoleniowym Damn Vulnerable Web Application.
Czytaj więcej

WEP lekcja #13 – Atak XSS (cross-site scripting) wprowadzenie

W dzisiejszej lekcji wprowadzę Ciebie do świata ataków XSS (cross-site scripting). Jest to jedna z najczęściej występujących podatności na stronach internetowych. Jej idea jest bardzo prosta. Programista jak zwykle zapomniał o filtrowani i walidacji danych pochodzących od internauty i je po prostu w pewnym miejscu strony wyświetla.

Dzięki tej właściwości zły haker może osadzić złośliwy kod HTML i JavaScript na stronie internetowej. Za pomocą luki XSS i właściwie spreparowanemu kodu JS, może wykonać on w sposób zupełnie automatyczny poznany przez Ciebie już atak CSRF lub dokonać kradzieży ciasteczek sesyjnych (cookies) logując się bez hasła.

Czytaj więcej

WEP lekcja #12 – Atak RFI (remote file inclusion) i User-Agent w DVWA

Dzisiaj demonstrujemy atak RFI, który umożliwia dołączanie zdalnej złośliwej zawartości wraz z kodem PHP, JavaScript lub ewentualnie HTML. Remote File Inclusion jest odmianą ataku LFI opisanego w lekcji 11. Tym razem zamiast możliwości pobierania i wykonywania lokalnego złośliwego kodu stosuje się plik umieszczony na zewnętrznym serwerze www.

Podatność jest związana z błędnym weryfikowaniem przez programistę przesyłanych danych od użytkownika web aplikacji. Serwer musi mieć również włączone w pliku konfiguracyjnym php.ini takie dyrektywy jak allow_url_include lub allow_url_fopen (zależnie od kodu źródłowego). Do poszukiwania tego typu luk i w tym przypadku możesz użyć skanera podatności fimap, który dostępny jest za darmo w systemie Kali Linux. Największą ciekawostką tej lekcji jest demonstracja potencjalnego włamania hakera za pomocą zmiany nagłówka nazwy przeglądarki (User-Agent). Czytaj więcej