Każde poszukiwanie luk w zasobach sieciowych rozpoczyna się od rozpoznania i zebrania informacji.
Inteligencja może być aktywna – brutalna siła plików i katalogów witryny, uruchamianie skanerów podatności, ręczne przeglądanie witryny lub pasywna – wyszukiwanie informacji w różnych wyszukiwarkach. Czasami zdarza się, że luka zostaje ujawniona jeszcze przed otwarciem pierwszej strony witryny.
Jak to możliwe?
Roboty wyszukujące, nieustannie wędrujące po Internecie, oprócz informacji przydatnych przeciętnemu użytkownikowi, często rejestrują rzeczy, które mogą zostać wykorzystane przez atakujących do ataku na zasób sieciowy. Na przykład błędy skryptów i pliki z poufnymi informacjami (od plików konfiguracyjnych i dzienników po pliki z danymi uwierzytelniającymi i kopiami zapasowymi baz danych).
Z punktu widzenia robota wyszukującego komunikat o błędzie dotyczący wykonania zapytania sql ma postać zwykłego tekstu, nierozerwalnie związanego np. z opisem produktów na stronie. Jeśli nagle robot wyszukiwania natknie się na plik z rozszerzeniem .sql, który z jakiegoś powodu trafi do folderu roboczego witryny, wówczas zostanie on odebrany jako część zawartości witryny i również zostanie zaindeksowany (w tym ewentualnie hasła w nim określone).
Takie informacje można znaleźć, znając mocne, często unikalne słowa kluczowe, które pomagają oddzielić „strony podatne na ataki” od stron, które nie zawierają luk.
Ogromna baza danych specjalnych zapytań wykorzystujących słowa kluczowe (tzw. dorks) istnieje na exploit-db.com i jest znana jako baza danych Google Hack.
Dlaczego Google?
Dorks są kierowane głównie do Google z dwóch powodów:
− najbardziej elastyczna składnia słów kluczowych (pokazana w tabeli 1) i znaków specjalnych (pokazana w tabeli 2);
− indeks Google jest w dalszym ciągu pełniejszy niż indeks innych wyszukiwarek;
Tabela 1 – Główne słowa kluczowe Google
Słowo kluczowe |
Oznaczający |
Przykład |
strona |
Szukaj tylko w określonej witrynie. Bierze pod uwagę tylko adres URL |
site:somesite.ru - znajdzie wszystkie strony w danej domenie i subdomenach |
inurl |
Szukaj według słów obecnych w uri. W odróżnieniu od kl. słowa „site”, wyszukuje dopasowania po nazwie witryny |
inurl:news - znajduje wszystkie strony, na których dane słowo pojawia się w uri |
intekst |
Szukaj w treści strony |
intext:”korki” - całkowicie podobne do zwykłego zapytania o „korki” |
tytuł |
Wyszukaj w tytule strony. Tekst pomiędzy tagami |
intitle:”index of” - znajdzie wszystkie strony z listami katalogów |
wew |
Wyszukaj strony z określonym rozszerzeniem |
ext:pdf — wyszukuje wszystkie pliki PDF |
typ pliku |
Obecnie całkowicie podobny do klasy. słowo „zewnętrzne” |
typ pliku:pdf - podobny |
powiązany |
Wyszukaj witryny o podobnej tematyce |
powiązane:google.ru - pokaże swoje analogi |
połączyć |
Wyszukaj witryny zawierające linki do tego |
link:somesite.ru - znajdzie wszystkie witryny, które mają do tego link |
określić |
Pokaż definicję słowa |
zdefiniuj:0day - definicja terminu |
kryjówka |
Pokaż zawartość strony w pamięci podręcznej (jeśli jest) |
cache:google.com — otworzy stronę z pamięci podręcznej |
Tabela 2 – Znaki specjalne w zapytaniach Google
Symbol |
Oznaczający |
Przykład |
“ |
Dokładne zdanie |
intitle:„Strona konfiguracji routera RouterOS” - wyszukaj routery |
* |
Dowolny tekst |
inurl: „bitrix*mcart” — wyszukaj witryny na platformie Bitrix z podatnym na ataki modułem mcart |
. |
Dowolna postać |
Index.of - podobny do indeksu żądania |
- |
Usuń słowo |
error -warning - pokaż wszystkie strony zawierające błąd, ale bez ostrzeżenia |
.. |
Zakres |
cve 2006..2016 - pokaż luki według roku, począwszy od 2006 |
| |
Logiczne „lub” |
Linux | Windows - pokaż strony, na których pojawia się pierwsze lub drugie słowo |
Wszystkie dziwadła Google Hack Database są logicznie podzielone na 14 kategorii i przedstawiono je w tabeli 3.
Tabela 3 – Kategorie bazy danych Google Hack
Kategoria |
Co pozwala znaleźć |
Przykład |
Przyczółki |
Powłoki internetowe, publiczne menedżery plików |
Znajdź wszystkie zhakowane witryny, na które przesłane zostały wymienione powłoki internetowe: (intitle:"phpshell" LUB intitle:"c99shell" LUB intitle:"r57shell" LUB intitle:"PHP Shell" LUB intitle:"phpRemoteView") `rwx` "uname" |
Pliki zawierające nazwy użytkowników |
Pliki rejestru, pliki konfiguracyjne, logi, pliki zawierające historię wprowadzonych poleceń |
Znajdź wszystkie pliki rejestru zawierające informacje o koncie: typ pliku:reg reg +intext:„menedżer kont internetowych” |
Wrażliwe katalogi |
Katalogi z różnymi informacjami (dokumenty osobiste, konfiguracje VPN, ukryte repozytoria itp.) |
Znajdź wszystkie listy katalogów zawierające pliki związane z VPN: „Konfiguracja” intitle: „Indeks” intext: vpn Strony zawierające repozytoria git: (intext:"indeks /.git") („katalog nadrzędny") |
Wykrywanie serwera WWW |
Wersja i inne informacje o serwerze WWW |
Znajdź konsole administracyjne serwera JBoss: inurl:"/web-console/" intitle:"Konsola administracyjna" |
Wrażliwe pliki |
Skrypty zawierające znane luki |
Znajdź witryny, które używają skryptu umożliwiającego przesłanie dowolnego pliku z serwera: allinurl:forcedownload.php?file= |
Wrażliwe serwery |
Skrypty instalacyjne, powłoki internetowe, otwarte konsole administracyjne itp. |
Znajdź otwarte konsole PHPMyAdmin działające jako root: intitle:phpMyAdmin "Witamy w phpMyAdmin ***" "działa na * jako root@*" |
Komunikaty o błędach |
Różne błędy i ostrzeżenia często ujawniają ważne informacje - od wersji CMS po hasła |
Witryny, w których występują błędy w wykonywaniu zapytań SQL do bazy danych: „Ostrzeżenie: mysql_query()” „nieprawidłowe zapytanie” |
Pliki zawierające soczyste informacje |
Certyfikaty, kopie zapasowe, e-maile, logi, skrypty SQL itp. |
Znajdź inicjujące skrypty sql: typ pliku:sql i „wstaw do” -site:github.com |
Pliki zawierające hasła |
Wszystko, co może zawierać hasła - logi, skrypty SQL itp. |
Logi zawierające hasła: typ pliku:dziennikkontekst:hasło |przejść |pw skrypty sql zawierające hasła: wew.:sqlkontekst:nazwa użytkownikakontekst:hasło |
Wrażliwe informacje dotyczące zakupów online |
Informacje związane z zakupami online |
Znajdź kody PIN: dcid=bn=szpilkakod= |
Dane sieciowe lub dotyczące luk w zabezpieczeniach |
Informacje niezwiązane bezpośrednio z zasobem internetowym, ale mające wpływ na sieć lub inne usługi inne niż internetowe |
Znajdź skrypty automatycznej konfiguracji proxy zawierające informacje o sieci wewnętrznej: inurl:proxy | inurl:wpad wew:pac | ext:dat findproxyforurl |
Strony zawierające portale logowania |
Strony zawierające formularze logowania |
strony internetowe saplogonu: intext:"2016 SAP AG. Wszelkie prawa zastrzeżone.” tytuł: „Zaloguj się” |
Różne urządzenia internetowe |
Drukarki, routery, systemy monitorowania itp. |
Znajdź panel konfiguracji drukarki: tytuł:"KMstrumień laserowy”adres:SSI/Autoryzacja/ustawić_konfiguracja_Informacje o urządzeniu.htm |
Zalecenia i luki w zabezpieczeniach |
Strony internetowe na podatnych na ataki wersjach CMS |
Znajdź podatne wtyczki, za pomocą których możesz przesłać dowolny plik na serwer: inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled |
Automatyzacja wyszukiwania podatności
Tak narodził się pomysł napisania prostego narzędzia, które automatyzuje wyszukiwanie luk w zabezpieczeniach za pomocą wyszukiwarki (google) i opiera się na bazie danych Google Hack.
Narzędzie to skrypt napisany w nodejs przy użyciu phantomjs. Mówiąc ściślej, skrypt jest interpretowany przez sam phantomjs.
Phantomjs to pełnoprawna przeglądarka internetowa bez GUI, sterowana za pomocą kodu js i z wygodnym API.
Narzędzie otrzymało całkowicie zrozumiałą nazwę - dorks. Uruchamiając go z linii poleceń (bez opcji) otrzymujemy krótką pomoc z kilkoma przykładami użycia:
Rysunek 1 – Lista głównych opcji
Ogólna składnia narzędzia jest następująca: dork „polecenie” „lista opcji”.
Szczegółowy opis wszystkich opcji przedstawiono w tabeli 4.
Tabela 4 – Składnia Dorksa
Zespół |
Opcja |
Opis |
ghdb |
-l |
Wydrukuj numerowaną listę kategorii dork Baza danych Google Hack |
-c „numer lub nazwa kategorii” |
Załaduj drzwi określonej kategorii według numeru lub nazwy |
|
-q „fraza” |
Pobierz dorks znalezione na życzenie |
|
-o „plik” |
Zapisz wynik do pliku (tylko z opcją -c|-q) |
|
Google |
-d „dziwka” |
Ustaw dowolny dork (opcji można użyć wielokrotnie, dozwolona jest kombinacja z opcją -D) |
-D „plik” |
Użyj dorks z pliku |
|
-s „strona” |
Ustaw miejsce (opcja może być używana wielokrotnie, dozwolona jest kombinacja z opcją -S) |
|
-S „plik” |
Użyj witryn z pliku (dorks będzie wyszukiwany dla każdej witryny niezależnie) |
|
-f „filtr” |
Ustaw dodatkowe słowa kluczowe (zostaną dodane do każdego dorka) |
|
-t "liczba ms" |
Odstęp między żądaniami kierowanymi do Google |
|
-T "liczba ms" |
Limit czasu w przypadku napotkania captcha |
|
-o „plik” |
Zapisz wynik do pliku (zapisane zostaną tylko te utwory, dla których coś znaleziono) |
Listę aktualnie dostępnych kategorii przedstawia rysunek 2.
Rysunek 2 – Lista dostępnych kategorii dork GHDB
Zespół Google wstawi każdy głupek do wyszukiwarki Google i przeanalizuje wynik pod kątem dopasowań. Ścieżki, w których coś zostało znalezione, zostaną zapisane w pliku.
Narzędzie obsługuje różne tryby wyszukiwania:
1 głupek i 1 miejsce;
1 idiota i wiele witryn;
1 strona i wiele kretynów;
wiele miejsc i wiele głupstw;
Listę idiotów i witryn można określić za pomocą argumentu lub pliku.
Demonstracja pracy
Spróbujmy poszukać ewentualnych podatności na przykładzie wyszukiwania komunikatów o błędach. Poleceniem: dorks ghdb –c 7 –o error.dorks zostaną załadowane wszystkie znane dorks z kategorii „Komunikaty o błędach”, jak pokazano na rysunku 3.
Rysunek 3 – Ładowanie wszystkich znanych komunikatów z kategorii „Komunikaty o błędach”.
Dorks są pobierane i zapisywane w pliku. Teraz pozostaje tylko „ustawić” je w jakiejś witrynie (patrz rysunek 4).
Rysunek 4 – Wyszukaj luki w interesującej Cię witrynie w pamięci podręcznej Google
Po pewnym czasie w badanej witrynie odkrywanych jest kilka stron zawierających błędy (patrz rysunek 5).
Rysunek 5 – Znaleziono komunikaty o błędach
W rezultacie w pliku Result.txt otrzymujemy pełną listę błędów, które prowadzą do błędu.
Rysunek 6 przedstawia wynik wyszukiwania błędów witryny.
Rysunek 6 – Wynik wyszukiwania błędów
Pamięć podręczna tego kretyna wyświetla pełny ślad, ujawniając bezwzględne ścieżki skryptów, system zarządzania treścią witryny i typ bazy danych (patrz rysunek 7).
Rysunek 7 – ujawnienie informacji o projekcie witryny
Warto jednak wziąć pod uwagę, że nie wszystkie głupki z GHDB dają prawdziwe wyniki. Ponadto Google może nie znaleźć dokładnego dopasowania i wyświetlić podobny wynik.
W takim przypadku rozsądniej jest skorzystać z osobistej listy kretynów. Przykładowo zawsze warto szukać plików z „nietypowymi” rozszerzeniami, których przykłady pokazano na rysunku 8.
Rysunek 8 – Lista rozszerzeń plików, które nie są typowe dla zwykłego zasobu sieciowego
W rezultacie za pomocą polecenia dorks google –D rozszerzenia.txt –f bank Google już od pierwszego żądania zaczyna zwracać witryny z „nietypowymi” rozszerzeniami plików (patrz rysunek 9).
Rysunek 9 – Wyszukaj „złe” typy plików na stronach banków
Warto pamiętać, że Google nie akceptuje zapytań dłuższych niż 32 słowa.
Użycie polecenia dorks google –d intext:”błąd|ostrzeżenie|powiadomienie|składnia” –f uniwersytet
Błędów interpretera PHP możesz szukać na stronach edukacyjnych (patrz rysunek 10).
Rysunek 10 – Znajdowanie błędów wykonawczych PHP
Czasami nie jest wygodnie używać jednej lub dwóch kategorii dorków.
Na przykład, jeśli wiadomo, że witryna działa na silniku Wordpress, wówczas potrzebujemy modułów specyficznych dla WordPressa. W takim przypadku wygodnie jest skorzystać z wyszukiwania w bazie danych Google Hack. Polecenie dorks ghdb –q wordpress –o wordpress_dorks.txt pobierze wszystkie dorks z Wordpress, jak pokazano na rysunku 11:
Rysunek 11 – Wyszukaj Dorks związany z Wordpressem
Wróćmy ponownie do banków i użyjmy polecenia dorks google –D wordpress_dords.txt –f bank, aby spróbować znaleźć coś interesującego związanego z Wordpressem (patrz rysunek 12).
Rysunek 12 – Wyszukaj luki w WordPressie
Warto zaznaczyć, że wyszukiwanie w Google Hack Database nie akceptuje słów krótszych niż 4 znaki. Na przykład, jeśli nie jest znany CMS witryny, ale znany jest język - PHP. W takim przypadku możesz odfiltrować potrzebne informacje ręcznie, korzystając z potoku i narzędzia wyszukiwania systemowego dorks –c all | findstr /I php > php_dorks.txt (patrz rysunek 13):
Rysunek 13 – Przeszukaj wszystkie głupstwa, w których wspomniano o PHP
Wyszukiwanie luk w zabezpieczeniach lub niektórych wrażliwych informacji w wyszukiwarce powinno odbywać się tylko wtedy, gdy na tej stronie znajduje się znaczący indeks. Na przykład, jeśli witryna ma zaindeksowanych 10-15 stron, głupio jest szukać czegokolwiek w ten sposób. Sprawdzenie rozmiaru indeksu jest łatwe – wystarczy wpisać „site:somesite.com” w pasku wyszukiwania Google. Przykład witryny o niewystarczającym indeksie pokazano na rysunku 14.
Rysunek 14 – Sprawdzanie rozmiaru indeksu witryny
A teraz o nieprzyjemnym... Od czasu do czasu Google może poprosić o captcha - nic na to nie poradzisz - będziesz musiał je wpisać. Na przykład podczas przeszukiwania kategorii „Komunikaty o błędach” (90 dorks) captcha pojawiła się tylko raz.
Warto dodać, że phantomjs obsługuje także pracę poprzez proxy, zarówno poprzez interfejs http, jak i skarpetki. Aby włączyć tryb proxy, musisz odkomentować odpowiednią linię w pliku dorks.bat lub dorks.sh.
Narzędzie jest dostępne w postaci kodu źródłowego
To staje się zabawne za każdym razem, gdy ludzie zaczynają mówić o prywatnych głupkach.
Zacznijmy od zdefiniowania, czym jest kretyn, a czym prywatny:
DORK (DORKA)- jest to maska, czyli inaczej żądanie skierowane do wyszukiwarki, w odpowiedzi na które system wygeneruje listę stron serwisu, których adresy zawierają ten sam DORK.
Prywatny- informacje, do których dostęp ma tylko jedna osoba lub niewielka grupa osób pracujących nad jednym projektem.
Spójrzmy teraz na wyrażenie „ Prywatny seks
".
Jeśli wyślemy zapytanie o znalezienie stron dla danej domeny i da nam to jakiś rezultat, to każdy może to zrobić, a zatem podane informacje nie są prywatne.
I trochę o sprzedawcach gier/pieniędzy/sklepów.
Wiele osób lubi robić tego typu dorki:
Steam.php?q= bitcoin.php?id= Minecraft.php?id=
Wyobraźmy sobie, że nic nie rozumiemy o dorkach i spróbujmy zobaczyć, ile linków podaje nam Google:
Prawdopodobnie od razu pomyślałeś o takich myślach: „Chrenowicz, gówno wiesz, spójrz, ile jest linków, ludzie praktycznie sprzedają pieniądze!”
Ale powiem Ci, że nie, bo teraz zobaczmy, jakie linki da nam taka prośba:
Myślę, że rozumiesz, o co chodzi, teraz użyjmy operatora Google adres: dokładne wyszukiwanie i zobaczmy, co wyjdzie:
Tak, liczba gwałtownie spadła, a potem to samo. A jeśli weźmiemy pod uwagę, że będą zduplikowane domeny + linki planu ***.info/vaernamo-nyheter/dennis-steam.php, to ostatecznie wyjdzie nam 5-10 sztuk.
Jak myślisz, ile osób doda takie linki do swojej witryny?
Aby zobaczyć linki, musisz się zarejestrować.
„itd., tak, oczywiście, tylko kilka.
Co oznacza pisanie kretynów w stylu steam.php?id= nie ma sensu, więc pytanie, jakie dorki ugotować?
I wszystko jest dość proste, musimy zebrać jak najwięcej linków na naszych drzwiach. Najwięcej linków będzie pochodzić z najbardziej prymitywnego linku formularza indeks.php?id=
Z powyższego możemy wyciągnąć wniosek: potrzebujemy najczęściej używanych katalogów, to z nich nasze wyniki będą najwyższe.
Myślę, że wiele osób pomyślało: „No cóż, co dalej? Potrzebujemy witryn tematycznych, a nie wszelkiego rodzaju witryn dla miłośników szczeniąt!” No cóż, oczywiście, ale żeby przejść do tematów witryn, będziemy musieli zapoznać się z operatorami Google, zaczynajmy. Nie będziemy analizować wszystkich operatorów, a jedynie te, które pomogą nam w parsowaniu strony.
Jakimi operatorami jesteśmy zainteresowani:
adres: Wyświetla witryny zawierające określone słowo w adresie strony.
Przykład:
Potrzebujemy witryn, których adres strony zawiera to słowo wózek. Utwórzmy żądanie typu inurl:koszyk i wyświetli nam wszystkie linki, których adres zawiera słowo koszyk. Te. Korzystając z tego żądania, osiągnęliśmy bardziej rygorystyczne przestrzeganie naszych warunków i eliminację linków, które nam nie odpowiadają.
kontekst: Strony są wybierane na podstawie zawartości strony.
Przykład:
Załóżmy, że potrzebujemy stron, na których zapisane są słowa bitcoin. Utwórzmy żądanie typu tekst:bitcoin Teraz poda nam linki, w których w tekście użyto słowa bitcoin.
tytuł: Wyświetlane są strony, których tag tytułowy zawiera słowa określone w zapytaniu. Myślę, że już wiesz, jak pisać zapytania, więc nie będę podawać przykładów.
allinanchor: operator wyświetla strony, które w swoim opisie mają interesujące nas słowa.
powiązany: być może jeden z ważnych operatorów udostępniających witryny o podobnej treści.
Przykład:
powiązane:exmo.com - poda nam wymiany, spróbuj sprawdzić to sam.
Cóż, być może wszyscy główni operatorzy, których potrzebujemy.
Przejdźmy teraz do budowy dróg za pomocą tych operatorów.
Przed każdymi drzwiami umieścimy inurl:
Inurl:cart?id= inurl:index?id= inurl:catalog?id=
Intext:dota2 intext:portal intext:csgo
Jeśli potrzebujemy frazy, to allinurl:
Allinurl:GTA SAMP...
Teraz sklejmy to wszystko i otrzymamy taki wygląd:
Inurl:cart?id= intext:dota2 inurl:cart?id= intext:portal inurl:cart?id= intext:csgo inurl:cart?id= allinurl:GTA SAMP inurl:index?id= intext:dota2 inurl:index? id= intext:portal inurl:index?id= intext:csgo inurl:index?id= allinurl:GTA SAMP inurl:catalog?id= intext:dota2 inurl:catalog?id= intext:portal inurl:catalog?id= intext: csgo inurl:catalog?id= allinurl:GTA SAMP
W rezultacie otrzymaliśmy drzwi do gier z węższym i bardziej precyzyjnym wyszukiwaniem.
Więc użyj mózgu i poeksperymentuj trochę z operatorami wyszukiwania i słowami kluczowymi, nie musisz się wypaczać i pisać głupstw w stylu hochymnogoigr.php?id=
Dziękuję wszystkim, mam nadzieję, że wyciągnęliście przynajmniej coś przydatnego z tego artykułu.
Uruchom pobrany plik poprzez podwójne kliknięcie (musisz posiadać maszynę wirtualną).
[Sekcja w przygotowaniu]
[Sekcja w przygotowaniu]
[Sekcja w przygotowaniu]
Praca z programem jest niezwykle prosta. Wystarczy wpisać adres strony internetowej i nacisnąć ENTER.
Poniższy zrzut ekranu pokazuje, że witryna jest podatna na trzy rodzaje zastrzyków SQL jednocześnie (informacja o nich jest wskazana w prawym dolnym rogu). Klikając na nazwy zastrzyków możesz zmienić zastosowaną metodę:
Wyświetlono nam już także istniejące bazy danych.
Możesz wyświetlić zawartość każdej tabeli:
Zazwyczaj najciekawszą rzeczą w tabelach są poświadczenia administratora.
Jeśli będziesz mieć szczęście i odnajdziesz dane administratora, to jest za wcześnie na radość. Musisz jeszcze znaleźć panel administracyjny, w którym możesz wprowadzić te dane.
W tym celu przejdź do kolejnej zakładki. Tutaj wita nas lista możliwych adresów. Możesz wybrać jedną lub więcej stron do sprawdzenia:
Wygoda polega na tym, że nie trzeba korzystać z innych programów.
Niestety, nie ma zbyt wielu nieostrożnych programistów, którzy przechowują hasła w postaci zwykłego tekstu. Dość często w wierszu hasła widzimy coś takiego
8743b52063cd84097a65d1633f5c74f5
To jest skrót. Możesz go odszyfrować za pomocą brutalnej siły. I... jSQL Injection ma wbudowaną brute-forcer.
Niewątpliwą wygodą jest to, że nie trzeba szukać innych programów. Istnieje wsparcie dla wielu najpopularniejszych skrótów.
To nie jest najlepsza opcja. Aby zostać guru w dekodowaniu skrótów, zaleca się książkę „” w języku rosyjskim.
Ale oczywiście, gdy nie ma pod ręką innego programu lub nie ma czasu na naukę, bardzo przydatny będzie jSQL Injection z wbudowaną funkcją brute force.
Istnieją ustawienia: możesz ustawić, które znaki mają być zawarte w haśle, zakres długości hasła.
Oprócz operacji na bazach danych - ich odczytywania i modyfikowania, w przypadku wykrycia zastrzyków SQL, można wykonać następujące operacje na plikach:
A wszystko to zaimplementowane w jSQL Injection!
Istnieją ograniczenia - serwer SQL musi mieć uprawnienia do plików. Inteligentni administratorzy systemu wyłączyli je i nie będą mogli uzyskać dostępu do systemu plików.
Obecność uprawnień do plików można dość łatwo sprawdzić. Przejdź do jednej z zakładek (odczyt plików, utworzenie powłoki, wgranie nowego pliku) i spróbuj wykonać jedną z określonych operacji.
Kolejna bardzo ważna uwaga - musimy znać dokładną bezwzględną ścieżkę do pliku, z którym będziemy pracować - w przeciwnym razie nic nie będzie działać.
Spójrz na poniższy zrzut ekranu:
Na każdą próbę operacji na pliku otrzymujemy następującą odpowiedź: Brak uprawnień FILE(brak uprawnień do plików). I nic tu nie da się zrobić.
Jeśli zamiast tego pojawi się inny błąd:
Problem z zapisem do [nazwa_katalogu]
Oznacza to, że niepoprawnie podałeś ścieżkę bezwzględną, w której chcesz zapisać plik.
Aby odgadnąć ścieżkę bezwzględną, musisz przynajmniej znać system operacyjny, na którym działa serwer. Aby to zrobić, przejdź do zakładki Sieć.
Taki zapis (linia Win64) daje nam podstawy przypuszczać, że mamy do czynienia z systemem operacyjnym Windows:
Keep-Alive: limit czasu=5, max=99 Serwer: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Połączenie: Metoda Keep-Alive: HTTP/1.1 200 OK Długość zawartości: 353 Data: piątek, 11 grudnia 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Typ zawartości: tekst/html; zestaw znaków=UTF-8
Tutaj mamy trochę Uniksa (*BSD, Linux):
Kodowanie transferu: fragmentaryczne Data: piątek, 11 grudnia 2015 r. 11:57:02 GMT Metoda: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Połączenie: keep-alive Typ zawartości: tekst/html X- Obsługiwane przez: PHP/5.3.29 Serwer: Apache/2.2.31 (Unix)
A tutaj mamy CentOS:
Metoda: HTTP/1.1 200 OK Wygasa: czwartek, 19 listopada 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; ścieżka=/ Połączenie: keep-alive X-Cache-Lookup: MISS z t1.hoster.ru:6666 Serwer: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS z t1.hoster.ru Kontrola pamięci podręcznej: brak przechowywania, brak pamięci podręcznej, konieczność ponownej weryfikacji, sprawdzanie po = 0, sprawdzanie wstępne = 0 Pragma: brak pamięci podręcznej Data: piątek, 11 grudnia 2015 12:08:54 GMT Kodowanie transferu: fragmentaryczne Typ zawartości: tekst/html; zestaw znaków=WINDOWS-1251
W systemie Windows typowym folderem witryn jest C:\Serwer\dane\htdocs\. Ale tak naprawdę, jeśli ktoś „pomyślał” o stworzeniu serwera w systemie Windows, to najprawdopodobniej ta osoba nie słyszała nic o przywilejach. Dlatego powinieneś rozpocząć próbę bezpośrednio z katalogu C:/Windows/:
Jak widać, wszystko poszło dobrze za pierwszym razem.
Ale same powłoki jSQL Injection budzą moje wątpliwości. Jeśli masz uprawnienia do plików, możesz łatwo przesłać coś za pomocą interfejsu internetowego.
I nawet ta funkcja jest dostępna w jSQL Injection. Wszystko jest niezwykle proste - pobierz listę witryn (możesz zaimportować z pliku), wybierz te, które chcesz sprawdzić i kliknij odpowiedni przycisk, aby rozpocząć operację.
jSQL Injection to dobre, potężne narzędzie do wyszukiwania, a następnie wykorzystania zastrzyków SQL znalezionych na stronach internetowych. Jego niewątpliwe zalety: łatwość obsługi, wbudowane funkcje z tym związane. jSQL Injection może być najlepszym przyjacielem początkującego przy analizie stron internetowych.
Wśród niedociągnięć zwróciłbym uwagę na brak możliwości edycji baz danych (przynajmniej ja nie znalazłem takiej funkcjonalności). Podobnie jak w przypadku wszystkich narzędzi GUI, jedną z wad tego programu można przypisać niemożności użycia go w skryptach. Niemniej jednak w tym programie możliwa jest również pewna automatyzacja - dzięki wbudowanej funkcji masowego sprawdzania witryny.
ustalona próbka i certyfikat. Specjalna zniżka na dowolne wydziały i kursy!
I tak przyjaciele, postanowiłem zrobić krótką kontynuację. Nie spodziewałem się takich recenzji, mam nadzieję, że przydadzą się początkującym...
Tym razem postaram się Wam opowiedzieć, jakie dorki nie powinny wyglądać. Ponieważ często musisz pracować z klientami, których głupki wyglądają zupełnie szalenie. A po krótkiej rozmowie okazuje się, że za te kretynki też zapłacili. Ogólnie to denerwujące) Ja sam z głupoty kupiłem dorki, zarówno za 300 rubli, jak i za 20 rubli. Ale nie spotkałem jeszcze kompetentnej osoby, która zrobi dorki, które będą dobre i wyszukiwarka zwróci od nich to, czego potrzebuję. Nie chcę nikogo urazić, to tylko moje osobiste zdanie.
Po pierwsze, przed zakupem zawsze poproś o sprawdzenie 10-15 drzwi, po prostu je oceń wizualnie. Mam nadzieję, że po tym przewodniku będziesz w stanie zidentyfikować mniej lub bardziej dopasowane głupki na swoją prośbę od tych, których nawet nie można nazwać publicznymi.
chodźmy!
Łatwiej mi pracować na przykładach, dlatego postaram się naszkicować listę pułapek „gier”, na które czasami można się natknąć, i podpowiem, na co warto zwrócić uwagę:
Błąd.php?gta_5=ramka
Rozbierzmy drzwi:
błąd.php- tutaj zakłada się, że to słowo musi być obecne w linku. W rzeczywistości jest trochę inaczej. Aby słowo było obecne w łączu, musi zostać zastosowane do operatora inurl: lub allinurl:
Załóżmy, że natrafiliśmy na linki z tym słowem. Ale to właśnie ta część (sądząc po drzwiach) powinna nawiązywać do tytułu strony. Nie wiem, jaki programista stworzyłby stronę error.php na swojej stronie z grami.
Oczywiście, że znajdą się tacy ludzie. Ale to będzie bardzo mały procent. Jak dla mnie strona powinna mieć mniej więcej popularną nazwę używaną przez programistów PHP.
Jeszcze kilka stron, które nie są pożądane w dorkach (sprzedawcy dork często używają przypadkowych słów):
Gta5.php - nikt nie będzie wywoływał strony farcry_primal.php farcry_primal.cfm - rozszerzenie .cfm jest używane w ASP.NET, tak, piszą w nim, ale nie tak często jak w PHP. A natrafienie na stronę o takiej nazwie to wielki sukces kramble.php how_to_work.php catch"in.php - znaki specjalne nie powinny znajdować się w nazwie strony jzooo.php - ogólnie nie rozumiem jakiego rodzaju strony to jest game_of_trone.php - rzadka strona , + nie odnosi się do gier, ale najprawdopodobniej do tytułu filmu
Mam nadzieję, że rozumiesz przybliżoną logikę. Strona powinna mieć logiczną nazwę, to jest najważniejsze. Nie ma większego znaczenia, czy nazwa ma coś wspólnego z tematyką gry, czy nie. Z których stron korzystają najczęściej koderzy i ogólnie te bardziej popularne, z których można korzystać w dorkach:
Index.php private.php pm.php user.php Members.php area.php config.php search.php redirect.php r.php (to samo przekierowanie) s.php (to samo wyszukiwanie) mail.php forum.php post .php konto.php exit.php query.php q.php (to samo zapytanie) itp.
Coś takiego. Tytuł strony w drzwiach (jeśli taki istnieje) powinien być jednosylabowy, wygodny do użycia na stronie i zawierać jakiś logiczny podtekst. Nie jest straszne, że nie mamy takich imion steam.php Lub steam_keys.php Lub ruletka.php, ważne jest dla nas znalezienie większej liczby linków. A im częściej słowo z zapytania pojawia się na stronach internetowych, tym lepiej. Te, których potrzebujemy mniej więcej, wybierzemy tematycznie, korzystając z reszty dorki
Wymyśliliśmy nazwy stron, ale nie to jest najważniejsze. Przejdźmy do drugiej części.
Spełnij to żądanie GET:
?gta_5- Od razu powiem, że takich próśb nie ma. (Przypominam, że jest to moja osobista opinia)
W idealnym przypadku żądanie GET powinno uzyskać dostęp do bazy danych, a w przypadku wstrzyknięcia SQL spowodować błąd wyjściowy z bazy danych. To jest to, czego potrzebujemy. Aby jednak znaleźć zapytanie, które zostanie wywołane gta_5- jeszcze raz wielkie szczęście. A jeśli go znajdziemy, musi być bezbronny. To ponownie odrzuca większość linków, którymi jesteśmy zainteresowani.
Jeszcze kilka przykładów złych i niezbyt dobrych zapytań:
Groove= ?paypal= ?qiwi_wallet= ?my_money= ?dai_webmoney= ?skdoooze= ?sadlkjadlkjswq= ?213123= ?777=
Dlaczego PayPal jest złym żądaniem? Ponieważ zakłada się, że za pomocą tego żądania chcemy uzyskać dostęp do bazy danych z wyborem PayPal. Nikt nie przechowuje bazy danych Paypal, z wyjątkiem być może samej firmy. Po raz kolejny go bronię.
Przykłady dobrych zapytań, miłych, z których każdy chętnie korzysta, bo są krótkie, wygodne, łatwe do zapamiętania i mają choć trochę logiki:
Id= ?cat= ?cat_id= ?get= ?post= ?frame= ?r= ?redirect= (rozumiesz) ?banner= ?go= ?leave= ?login= ?pass= ?password= ?username= ?użytkownik= ?search= ?s= ?wallet= ?acc= ?balance= ?do= ?page= ?page_id= ?topic= ?forum= ?thread= ?pobieranie= ?bezpłatny= ?message=
Oczywiście możesz kontynuować w nieskończoność. Są to jednak uniwersalne żądania, które idealnie pasują do mikstur, gier do gier, gier na pieniądze i wszelkich innych. Natrafimy na fora, strony z torrentami i wszystko inne.
Jako przykład kilka zapytań, które mogą być przydatne, powiedzmy w przypadku zapytań dotyczących gier:
Game= ?game_id= ?battle= ?log= ?team= ?weapon= ?inv= (inwentarz) ?gamedata= ?player= ?players= ?play= (pojawią się strony internetowe z klipami wideo) ?playtag= ?match=
W idealnym przypadku tę samą logikę zapytań należy zastosować do innych tematów. Musisz znać przynajmniej trochę angielski i wiedzieć, jakie drzwi kupujesz. Ogólnie rzecz biorąc, wystarczy spojrzeć na 10-20 drzwi i od razu stanie się jasne, jaki rodzaj mega prywatnego kupiłeś i czy warto w przyszłości kontaktować się z tym sprzedawcą. Lub ogólnie, dokonaj zwrotu pieniędzy przez czarny, jeśli zobaczysz, że Twoje dupki zawierają sex.php? or?photo= i zamówiłeś drzwi do sklepów. Ręce pod pociąg do takich postaci
I tak w końcu - najważniejsza część dorki (której czasami zupełnie nie ma). Jeśli właśnie przyjrzeliśmy się nazwie żądania GET (a nie samemu żądaniu), teraz przechodzimy do żądania, które może pomóc nam znaleźć dokładnie to, czego potrzebujemy.
Z naszego testowego głupka to jest część- rama
Nie powiem, że to zła prośba, ale biorąc pod uwagę, że szukamy witryn z grami, skuteczność takiej prośby wynosi około 15-20%. W przypadku utworów miksowanych lub po prostu dla liczby linków (tylko po to, aby coś wycieknąć) będzie dobrze.
Nazwa prośby może zawierać, jak słusznie mówią w wielu tutorialach i podręcznikach na temat dorks, dowolne słowa związane z naszym tematem. Nie odbiegajmy od zapytań o gry, więc podam przykład dobrych, odpowiednich zapytań o gry:
Gra gry exp gracze na poziomie gracza dota counter-strike AWP | Aziimov M19 NAVI zagraj w darmowe gry pobierz grę forum gier o grze zrzut ekranu poradnik gry
Powinno być tutaj jasne, jaki jest temat twoich dróg. Jeśli zakupione przez Ciebie dorki są w przybliżeniu następujące (a my kupiliśmy te do gier):
Oglądaj tekst o wolności dsadaswe 213123321 ledy gaga pieprzyć amerykę bla bla dziewczyna cycki darmowe XXX porno futurama s01e13
Z drugiej strony możesz wysłać wiadomość do sprzedawcy i wyrzucić swoje głupstwa. Nie zobaczysz żadnych stron z grami :)
Jeszcze jedno, możesz używać operatorów w tych zapytaniach - intitle: , allintitle: , intext: , allintext:
Gdzie po dwukropku będzie samo żądanie gry z listy tuż powyżej ( intitle: gra, allintext: graj za darmo)
Wydaje się, że wszystko, co chciałem przekazać. Zasadniczo mam nadzieję, że artykuł będzie przynajmniej w jakiś sposób przydatny dla początkujących (byłby przydatny dla mnie i pomógłby mi zaoszczędzić kilkaset rubli, a także pomógłby postawić na swoim miejscu pozbawionych skrupułów sprzedawców drewna). Cóż, jeśli mniej więcej zrozumiesz, jak sam zrobić dorks, będę tylko zadowolony.
Ćwicz, ćwicz swoje oko/rękę, w dorkach nie ma nic szczególnie skomplikowanego.
I wreszcie, nie wiem, jak to działa w dumperze, ale a-parser spokojnie zjada i wyszukuje wiele linków z zapytaniami w języku rosyjskim. Dlaczego nie, pomyślałem. Przetestowałem i byłem zadowolony z efektu. Można się śmiać))
Frame.php?name= darmowe gry get.php?query= pobierz KS search.php?ok= serwery gier
[Mój pierwszy artykuł] -