Jak zhakować witrynę: przykład hakowania witryn internetowych

Spisie treści:

Anonim

Dostęp do internetu ma więcej osób niż kiedykolwiek wcześniej. To skłoniło wiele organizacji do opracowania aplikacji internetowych, których użytkownicy mogą używać online do interakcji z organizacją. Źle napisany kod aplikacji internetowych może zostać wykorzystany do uzyskania nieautoryzowanego dostępu do wrażliwych danych i serwerów WWW.

W tym samouczku dowiesz się, jak hakować strony internetowe, a także przedstawimy techniki hakowania aplikacji internetowych oraz środki zaradcze, które możesz zastosować, aby chronić się przed takimi atakami .

Tematy omówione w tym samouczku

  • Co to jest aplikacja internetowa? Co to są zagrożenia internetowe?
  • Jak chronić swoją witrynę przed włamaniami?
  • Sztuczki hakerskie: zhakuj witrynę internetową!

Co to jest aplikacja internetowa? Co to są zagrożenia internetowe?

Aplikacja internetowa (inaczej strona internetowa) to aplikacja oparta na modelu klient-serwer. Serwer zapewnia dostęp do bazy danych i logikę biznesową. Jest hostowany na serwerze internetowym. Aplikacja kliencka działa w przeglądarce internetowej klienta. Aplikacje internetowe są zwykle pisane w językach takich jak Java, C # i VB.Net, PHP, ColdFusion Markup Language itp. Silniki baz danych używane w aplikacjach internetowych obejmują MySQL, MS SQL Server, PostgreSQL, SQLite itp.

Większość aplikacji internetowych znajduje się na serwerach publicznych dostępnych przez Internet. To sprawia, że ​​są podatne na ataki ze względu na łatwą dostępność. Poniżej przedstawiono typowe zagrożenia związane z aplikacjami internetowymi.

  • SQL Injection - celem tego zagrożenia może być ominięcie algorytmów logowania, sabotowanie danych itp.
  • Ataki typu „odmowa usługi” - celem tego zagrożenia może być uniemożliwienie uprawnionym użytkownikom dostępu do zasobu
  • Cross Site Scripting XSS - celem tego zagrożenia może być wstrzyknięcie kodu, który można wykonać w przeglądarce po stronie klienta.
  • Cookie / Session Poisoning - celem tego zagrożenia jest modyfikacja plików cookie / danych sesji przez atakującego w celu uzyskania nieautoryzowanego dostępu.
  • Manipulowanie formularzami - celem tego zagrożenia jest modyfikacja danych formularzy, takich jak ceny w aplikacjach e-commerce, tak aby atakujący mógł uzyskać przedmioty po obniżonych cenach.
  • Code Injection - celem tego zagrożenia jest wstrzyknięcie kodu takiego jak PHP, Python itp., Który można uruchomić na serwerze. Kod może instalować backdoory, ujawniać poufne informacje itp.
  • Defacement - celem tego zagrożenia jest modyfikacja strony wyświetlanej w serwisie WWW i przekierowanie wszystkich żądań stron na pojedynczą stronę zawierającą wiadomość atakującego.

Jak chronić swoją witrynę przed włamaniami?

Organizacja może przyjąć następujące zasady, aby chronić się przed atakami na serwer WWW.

  • SQL Injection - oczyszczanie i walidacja parametrów użytkownika przed przesłaniem ich do bazy danych w celu przetworzenia może pomóc zmniejszyć ryzyko ataku przez SQL Injection. Silniki bazodanowe takie jak MS SQL Server, MySQL itp. Obsługują parametry i przygotowane zestawienia. Są znacznie bezpieczniejsze niż tradycyjne instrukcje SQL
  • Ataki typu „odmowa usługi” - zapory sieciowe mogą być używane do odrzucania ruchu z podejrzanego adresu IP, jeśli atak jest prostym atakiem typu DoS. Odpowiednia konfiguracja sieci i systemu wykrywania włamań może również pomóc zmniejszyć szanse powodzenia ataku DoS.
  • Cross Site Scripting - sprawdzanie poprawności i oczyszczanie nagłówków, parametrów przekazywanych za pośrednictwem adresu URL, parametrów formularza i ukrytych wartości może pomóc w ograniczeniu ataków XSS.
  • Cookie / Session Poisoning - można temu zapobiec poprzez zaszyfrowanie zawartości plików cookie, przekroczenie limitu czasu plików cookie po pewnym czasie, powiązanie plików cookie z adresem IP klienta, który został użyty do ich utworzenia.
  • Hartowanie formy - można temu zapobiec poprzez walidację i weryfikację danych wejściowych użytkownika przed ich przetworzeniem.
  • Wstrzyknięcie kodu - można temu zapobiec, traktując wszystkie parametry jako dane, a nie jako kod wykonywalny. Aby to zaimplementować, można użyć funkcji dezynfekcji i walidacji.
  • Defacement - dobra polityka bezpieczeństwa tworzenia aplikacji internetowych powinna zapewniać, że zabezpiecza ona powszechnie używane luki w dostępie do serwera WWW. Może to być odpowiednia konfiguracja systemu operacyjnego, oprogramowania serwera WWW i najlepszych praktyk bezpieczeństwa podczas tworzenia aplikacji internetowych.

Sztuczki hakerskie: hakowanie witryny internetowej

W tym praktycznym scenariuszu hakowania witryny zamierzamy przejąć sesję użytkownika aplikacji internetowej znajdującej się pod adresem www.techpanda.org. Będziemy używać skryptów między witrynami, aby odczytać identyfikator sesji pliku cookie, a następnie użyć go do podszywania się pod legalną sesję użytkownika.

Przyjęto założenie, że atakujący ma dostęp do aplikacji internetowej i chciałby przejąć sesje innych użytkowników korzystających z tej samej aplikacji. Celem tego ataku może być uzyskanie dostępu administratora do aplikacji internetowej, przy założeniu, że konto dostępu atakującego jest ograniczone.

Pierwsze kroki

  • Otwórz http://www.techpanda.org/
  • Ze względów praktycznych zdecydowanie zaleca się uzyskanie dostępu za pomocą SQL Injection. Więcej informacji o tym, jak to zrobić, znajdziesz w tym artykule.
  • Adres e-mail logowania to Ten adres e-mail jest chroniony przed robotami spamującymi. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript., Hasło to Password2010
  • Jeśli zalogowałeś się pomyślnie, otrzymasz następujący pulpit nawigacyjny
  • Kliknij Dodaj nowy kontakt
  • Wpisz następujące imię jako imię

Ciemny

TUTAJ,

Powyższy kod wykorzystuje JavaScript . Dodaje hiperłącze do zdarzenia onclick . Gdy niczego niepodejrzewający użytkownik kliknie odsyłacz, zdarzenie pobiera identyfikator sesji pliku cookie PHP i wysyła go na stronę snatch_sess_id.php wraz z identyfikatorem sesji w adresie URL

  • Wprowadź pozostałe szczegóły, jak pokazano poniżej
  • Kliknij Zapisz zmiany
  • Twój pulpit nawigacyjny będzie teraz wyglądał jak poniższy ekran
  • Ponieważ kod skryptu między witrynami jest przechowywany w bazie danych, będzie ładowany za każdym razem, gdy użytkownicy z prawami dostępu będą się logować
  • Załóżmy, że administrator loguje się i klika hiperłącze z napisem Dark
  • Otrzyma okno z identyfikatorem sesji pokazanym w adresie URL

Uwaga : skrypt może wysyłać wartość do jakiegoś zdalnego serwera, na którym przechowywany jest PHPSESSID, a następnie użytkownik przekierowywany z powrotem do witryny internetowej, jakby nic się nie stało.

Uwaga : uzyskana wartość może różnić się od wartości podanej w tym samouczku dotyczącym hakowania stron internetowych, ale koncepcja jest taka sama

Personifikacja sesji przy użyciu przeglądarki Firefox i dodatku Tamper Data

Poniższy schemat blokowy przedstawia kroki, które należy wykonać, aby wykonać to ćwiczenie.

  • W tej sekcji będziesz potrzebować przeglądarki internetowej Firefox i dodatku Tamper Data
  • Otwórz przeglądarkę Firefox i zainstaluj dodatek, jak pokazano na poniższych diagramach
  • Wyszukaj dane dotyczące sabotażu, a następnie kliknij Instaluj, jak pokazano powyżej
  • Kliknij Zaakceptuj i zainstaluj…
  • Kliknij Uruchom ponownie teraz po zakończeniu instalacji
  • Włącz pasek menu w przeglądarce Firefox, jeśli nie jest wyświetlany
  • Kliknij menu narzędzi, a następnie wybierz opcję Sabotaż danych, jak pokazano poniżej
  • Otrzymasz następujące okno. Uwaga: jeśli system Windows nie jest pusty, naciśnij przycisk czyszczenia
  • Kliknij menu Start Tamper
  • Wróć do przeglądarki internetowej Firefox, wpisz http://www.techpanda.org/dashboard.php, a następnie naciśnij klawisz Enter, aby załadować stronę
  • Pojawi się następujące wyskakujące okienko z danymi dotyczącymi manipulacji
  • Wyskakujące okienko ma trzy (3) opcje. Opcja Tamper umożliwia modyfikację informacji nagłówka HTTP przed przesłaniem ich na serwer .
  • Kliknij na to
  • Pojawi się następujące okno
  • Skopiuj identyfikator sesji PHP skopiowany z adresu URL ataku i wklej go po znaku równości. Twoja wartość powinna teraz wyglądać tak

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Kliknij przycisk OK
  • Ponownie pojawi się wyskakujące okienko danych sabotażu
  • Odznacz pole wyboru z pytaniem Kontynuować manipulowanie?
  • Po zakończeniu kliknij przycisk przesyłania
  • Pulpit nawigacyjny powinien być widoczny, jak pokazano poniżej

Uwaga : nie zalogowaliśmy się, podszyliśmy się pod sesję logowania, używając wartości PHPSESSID, którą pobraliśmy przy użyciu skryptów między witrynami

Podsumowanie

  • Aplikacja internetowa jest oparta na modelu serwer-klient. Strona klienta korzysta z przeglądarki internetowej, aby uzyskać dostęp do zasobów na serwerze.
  • Aplikacje internetowe są zwykle dostępne przez Internet. To czyni je podatnymi na ataki.
  • Zagrożenia związane z aplikacjami internetowymi obejmują SQL Injection, Code Injection, XSS, Defacement, Cookie Poisoning itp.
  • Dobra polityka bezpieczeństwa podczas tworzenia aplikacji internetowych może pomóc w ich zabezpieczeniu.