WOJSKOWA AKADEMIA TECHNICZNA
SPRAWOZDANIE Z LABORATORIUM NR 2
Prowadzący: mgr inż. Bartosz Kryński
Wykonał : Robert Skrzypczyński, Wojciech Węgrecki
Grupa: I9G2S1
Cel zadania laboratoryjnego.
Celem zadania było badanie podatności aplikacji internetowej na ataki. Sprawdzaliśmy strukturę oraz zabezpieczenia stosowane w przykładowej aplikacji przedstawionej przez prowadzącego. Za pomocą narzędzi Burp Suite oraz Wapiti mieliśmy poznać budowę aplikacji oraz wykonać audyt jej bezpieczeństwa oraz wygenerować raport.
Przebieg ćwiczenia laboratoryjnego.
Testowana aplikacja znajdowała się pod adresem http://10.3.236.112. Okazało się że jest to aplikacja sklepu „SuperVeda”. Kolejnym krokiem było utworzenie konta i zalogowanie się na nie.
Rys. 1. Widok aplikacji po zalogowaniu
Następnie skonfigurowaliśmy proxy w przeglądarce.
Rys. 2. Ustawienie adresu proxy w przeglądarce internetowej.
Czynność tą należało wykonać aby wszelkie żądania i odpowiedzi aplikacji były wykonywane i analizowane przy pomocy narzędzia Burp Suit. W tym programie po uruchomieniu przeszliśmy do zakładki target->scope, w której wpisaliśmy adres IP oraz numer portu (10.3.236.112:8080) analizowanej aplikacji Następnie w zakładce spider->options dodaliśmy login i hasło założonego przez nas konta. Ostatnią czynnością jaką wykonaliśmy było przejście do target->site map i wciśnięcie prawego klawisza na adresie naszej aplikacji internetowej i wybranie opcji spider this host. Od tej chwili wszystkie żądania i odpowiedzi były przechwytywane przez program. Poniżej znajduję się okno programu wraz ze strukturą analizowanej aplikacji.
Rys. 3 .Okno programu Burp Suit przedstawiające strukturę aplikacji.
Kolejnym krokiem było wykonanie audytu bezpieczeństwa podanej aplikacji internetowej. Do jego wykonania użyliśmy programu Wapiti, który po wpisaniu polecenia:
Cd/Pentest/web/wapiti
Python wapiti.py http://10.3.236.112
wykonał audyt, a także wygenerował z niego raport.
Rys. 4.Raport wygenerowany za pomocą Wpiti
Z raportu wynika, że aplikacja jest wysoce podatna na ataki SQL Injection, Blind SQL Injection, File Handling, Cross Site Scripting, CRLF i Commands execution.
Najwiecęj podatności jest typów:
-SQL Injection- jest to luka w zabezpieczeniach aplikacji internetowych polegająca na nieodpowiednim filtrowaniu lub niedostatecznym typowaniu i późniejszym wykonaniu danych przesyłanych w postaci zapytań SQL do bazy danych.
-Cross Site Scripting- jest to sposób ataku na serwis WWW polegający na osadzeniu w treści atakowanej strony kodu (zazwyczaj w JavaScript), który wyświetlony innym użytkownikom może doprowadzić do wykonania przez nich niepożądanych akcji.
3) Wnioski
Przeprowadzone zadanie laboratoryjne miało na celu ukazanie podatności i możliwości ich wykorzystania do ataków na aplikacje internetowe.
Za pomocą dwóch programów zdołaliśmy poznać strukturę i wygenerować audyt bezpieczeństwa aplikacji. Poznaliśmy sposób funkcjonowanie tej aplikacji przez podglądanie i możliwość edycji przesyłanych żądań i odpowiedzi. Wykorzystane przez nas narzędzia mogą być bardzo pomocne przy zabezpieczaniu tworzonych przez nas aplikacji. Szczególnie za pomocą Wapiti, które generuje dość szczegółowy raport na temat podatności i ich typów.
Wykonanie tego zadania pokazało nam jak dużo jest możliwych luk w zabezpieczeniach aplikacji i jak ważne jest ich eliminowanie. Szczególne znaczenie ma to w aplikacjach związanych z finansami, gdyż niesie to za sobą odpowiedzialność za cudzy majątek.