hacktricks/network-services-pentesting/pentesting-web
2024-04-07 00:09:03 +00:00
..
buckets Translated to Polish 2024-02-11 01:46:25 +00:00
electron-desktop-apps Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
php-tricks-esp Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
tomcat Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
403-and-401-bypasses.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
aem-adobe-experience-cloud.md Translated to Polish 2024-02-11 01:46:25 +00:00
angular.md Translated to Polish 2024-02-11 01:46:25 +00:00
apache.md Translated to Polish 2024-02-11 01:46:25 +00:00
artifactory-hacking-guide.md Translated to Polish 2024-02-11 01:46:25 +00:00
bolt-cms.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
cgi.md Translated to Polish 2024-02-11 01:46:25 +00:00
code-review-tools.md Translated to Polish 2024-02-11 01:46:25 +00:00
dotnetnuke-dnn.md Translated to Polish 2024-02-11 01:46:25 +00:00
drupal.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
flask.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
git.md Translated to Polish 2024-02-11 01:46:25 +00:00
golang.md Translated to Polish 2024-02-11 01:46:25 +00:00
grafana.md Translated to Polish 2024-02-11 01:46:25 +00:00
graphql.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
gwt-google-web-toolkit.md Translated to Polish 2024-02-11 01:46:25 +00:00
h2-java-sql-database.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
iis-internet-information-services.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
imagemagick-security.md Translated to Polish 2024-02-11 01:46:25 +00:00
jboss.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-18 14:52:04 +00:00
jira.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
joomla.md Translated to Polish 2024-02-11 01:46:25 +00:00
jsp.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
laravel.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
moodle.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
nginx.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
nodejs-express.md Translated to Polish 2024-02-11 01:46:25 +00:00
put-method-webdav.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
python.md Translated to Polish 2024-02-11 01:46:25 +00:00
README.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
rocket-chat.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
special-http-headers.md Translated ['network-services-pentesting/pentesting-web/special-http-hea 2024-02-25 22:30:20 +00:00
spring-actuators.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
symphony.md Translated to Polish 2024-02-11 01:46:25 +00:00
tomcat.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:52:37 +00:00
uncovering-cloudflare.md Translated to Polish 2024-02-11 01:46:25 +00:00
vmware-esx-vcenter....md Translated to Polish 2024-02-11 01:46:25 +00:00
waf-bypass.md Translated to Polish 2024-02-11 01:46:25 +00:00
web-api-pentesting.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
werkzeug.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
wordpress.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00

80,443 - Metodologia testowania penetracyjnego stron internetowych

Zacznij od zera i stań się ekspertem od hakowania AWS dzięki htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Jeśli interesuje Cię kariera w dziedzinie hakerstwa i hakowanie niemożliwych do zhakowania - rekrutujemy! (wymagana biegła znajomość języka polskiego w mowie i piśmie).

{% embed url="https://www.stmcyber.com/careers" %}

Podstawowe informacje

Usługa internetowa jest najbardziej powszechną i rozległą usługą, w której istnieje wiele różnych rodzajów podatności.

Domyślny port: 80 (HTTP), 443(HTTPS)

PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  ssl/https
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0

Wskazówki dotyczące interfejsu API sieciowego

{% content-ref url="web-api-pentesting.md" %} web-api-pentesting.md {% endcontent-ref %}

Podsumowanie metodologii

W tej metodologii zakładamy, że atakujesz domenę (lub subdomenę) i tylko nią. Dlatego powinieneś zastosować tę metodologię do każdej odkrytej domeny, subdomeny lub IP z nieokreślonym serwerem WWW w zakresie.

  • Zacznij od identyfikacji używanych przez serwer WWW technologii. Szukaj sztuczek, które warto zapamiętać podczas reszty testu, jeśli uda ci się pomyślnie zidentyfikować technologię.
  • Czy istnieje znana podatność wersji tej technologii?
  • Czy używana jest jakakolwiek znana technologia? Czy istnieje przydatna sztuczka do pozyskania dodatkowych informacji?
  • Czy istnieje specjalistyczne narzędzie skanujące do uruchomienia (np. wpscan)?
  • Uruchom skanery ogólnego przeznaczenia. Nigdy nie wiesz, czy znajdą coś ciekawego.
  • Rozpocznij od początkowych sprawdzeń: robots.txt, mapa witryny (sitemap), błąd 404 i skan SSL/TLS (jeśli HTTPS).
  • Rozpocznij przeglądanie strony: Czas znaleźć wszystkie możliwe pliki, foldery i parametry używane. Sprawdź również specjalne znaleziska.
  • Zauważ, że za każdym razem, gdy podczas prób siłowych lub przeglądania odkryjesz nowy katalog, należy go przeszukać.
  • Próba siłowego przeglądania katalogów: Spróbuj siłowo przeszukać wszystkie odkryte foldery w poszukiwaniu nowych plików i katalogów.
  • Zauważ, że za każdym razem, gdy podczas prób siłowych lub przeglądania odkryjesz nowy katalog, należy go siłowo przeszukać.
  • Sprawdzanie kopii zapasowych: Sprawdź, czy można znaleźć kopie zapasowe odkrytych plików, dodając powszechne rozszerzenia kopii zapasowych.
  • Siłowe przeglądanie parametrów: Spróbuj znaleźć ukryte parametry.
  • Gdy zidentyfikujesz wszystkie możliwe punkty końcowe akceptujące dane użytkownika, sprawdź wszelkie rodzaje związanych z nimi podatności.
  • Postępuj zgodnie z tą listą kontrolną

Wersja serwera (Podatny?)

Identyfikacja

Sprawdź, czy istnieją znane podatności dla wersji serwera, która jest używana.
Nagłówki HTTP i ciasteczka odpowiedzi mogą być bardzo przydatne do identyfikacji używanych technologii i/lub wersji. Skan Nmap może zidentyfikować wersję serwera, ale również przydatne mogą być narzędzia whatweb, webtech lub https://builtwith.com/:

whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2

Szukaj podatności aplikacji internetowej w wersji.

Sprawdź, czy istnieje WAF

Triki technologii internetowych

Kilka trików do znajdowania podatności w różnych znanych technologiach:

Miej na uwadze, że ta sama domena może używać różnych technologii na różnych portach, folderach i subdomenach.
Jeśli aplikacja internetowa używa jakiejkolwiek znanej technologii/platformy wymienionej wcześniej lub innej, nie zapomnij szukać w Internecie nowych trików (i daj mi znać!).

Przegląd kodu źródłowego

Jeśli kod źródłowy aplikacji jest dostępny w github, oprócz przeprowadzenia testu White box aplikacji na własną rękę, istnieje kilka informacji, które mogą być przydatne do obecnego testu Black-Box:

  • Czy istnieje dziennik zmian lub plik Readme lub informacje o wersji dostępne przez sieć?
  • Jak i gdzie są przechowywane dane uwierzytelniające? Czy istnieje (dostępny?) plik z danymi uwierzytelniającymi (nazwy użytkowników lub hasła)?
  • Czy hasła są w czystym tekście, zaszyfrowane lub jaki algorytm haszowania jest używany?
  • Czy jest używany klucz główny do szyfrowania czegoś? Jaki algorytm jest używany?
  • Czy możesz uzyskać dostęp do któregokolwiek z tych plików wykorzystując jakąś podatność?
  • Czy istnieją interesujące informacje w githubie (rozwiązane i nierozwiązane) problemy? Lub w historii commitów (może jakieś hasło wprowadzone w starym commicie)?

{% content-ref url="code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}

Automatyczne skanery

Automatyczne skanery ogólnego przeznaczenia

nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
zaproxy #You can use an API
nuclei -ut && nuclei -target <URL>

# https://github.com/ignis-sec/puff (client side vulns fuzzer)
node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi2rVUN/?query=FUZZ"

Skanery CMS

Jeśli jest używany CMS, nie zapomnij uruchomić skanera, być może znajdziesz coś interesującego:

cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs

W tym momencie powinieneś już mieć pewne informacje na temat serwera WWW używanego przez klienta (jeśli jakiekolwiek dane zostały podane) oraz kilka sztuczek, które warto mieć na uwadze podczas testu. Jeśli masz szczęście, możesz nawet znaleźć system zarządzania treścią (CMS) i uruchomić skaner.

Odkrywanie aplikacji internetowej krok po kroku

Od tego momentu zaczniemy interakcję z aplikacją internetową.

Sprawdzenia początkowe

Domyślne strony z ciekawymi informacjami:

  • /robots.txt
  • /sitemap.xml
  • /crossdomain.xml
  • /clientaccesspolicy.xml
  • /.well-known/
  • Sprawdź również komentarze na głównych i pomocniczych stronach.

Wymuszanie błędów

Serwery WWW mogą zachowywać się niespodziewanie, gdy do nich wysyłane są dziwne dane. Może to otworzyć luki w zabezpieczeniach lub ujawnić poufne informacje.

  • Otwórz fałszywe strony takie jak /cokolwiek_fake.php (.aspx,.html,.itp)
  • Dodaj "[]", "]]" i "[[" w wartościach ciasteczka i wartościach parametrów aby wywołać błędy
  • Wygeneruj błąd, wpisując dane wejściowe jako /~randomthing/%s na końcu URL
  • Spróbuj użyć różnych czasowników HTTP jak PATCH, DEBUG lub błędny jak FAKE

Sprawdź, czy możesz przesyłać pliki (metoda PUT, WebDav)

Jeśli odkryjesz, że WebDav jest włączony, ale nie masz wystarczających uprawnień do przesyłania plików w głównym folderze, spróbuj:

  • Próbuj siłowo dane uwierzytelniające
  • Prześlij pliki za pomocą WebDav do pozostałych znalezionych folderów na stronie internetowej. Możesz mieć uprawnienia do przesyłania plików do innych folderów.

Luki w SSL/TLS

  • Jeśli aplikacja nie wymusza użycia HTTPS w żadnej części, to jest podatna na atak typu MitM
  • Jeśli aplikacja wysyła poufne dane (hasła) za pomocą protokołu HTTP. To jest wysokie ryzyko.

Użyj testssl.sh do sprawdzania luk w zabezpieczeniach (W programach Bug Bounty tego rodzaju luki prawdopodobnie nie będą akceptowane) i użyj a2sv do ponownego sprawdzenia luk w zabezpieczeniach:

./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also

# You can also use other tools, by testssl.sh at this momment is the best one (I think)
sslscan <host:port>
sslyze --regular <ip:port>

Informacje o podatnościach SSL/TLS:

Spidering

Uruchom pewnego rodzaju pająka w sieci. Celem pająka jest znalezienie jak największej liczby ścieżek w testowanej aplikacji. Dlatego należy wykorzystać przeszukiwanie sieci oraz zewnętrzne źródła, aby znaleźć jak najwięcej prawidłowych ścieżek.

  • gospider (go): Pająk HTML, LinkFinder w plikach JS i zewnętrzne źródła (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
  • hakrawler (go): Pająk HML, z LinkFider dla plików JS i Archive.org jako zewnętrzne źródło.
  • dirhunt (python): Pająk HTML, wskazuje również "soczyste pliki".
  • evine (go): Interaktywny pająk HTML w wierszu poleceń. Szuka również w Archive.org.
  • meg (go): To narzędzie nie jest pająkiem, ale może być przydatne. Wystarczy wskazać plik z hostami i plik z ścieżkami, a meg pobierze każdą ścieżkę na każdym hoście i zapisze odpowiedź.
  • urlgrab (go): Pająk HTML z możliwościami renderowania JS. Jednak wygląda na to, że nie jest rozwijany, skompilowana wersja jest stara, a obecny kod nie kompiluje się.
  • gau (go): Pająk HTML korzystający z zewnętrznych dostawców (wayback, otx, commoncrawl).
  • ParamSpider: Ten skrypt znajdzie adresy URL z parametrami i je wymieni.
  • galer (go): Pająk HTML z możliwościami renderowania JS.
  • LinkFinder (python): Pająk HTML, z możliwościami upiększania JS zdolny do wyszukiwania nowych ścieżek w plikach JS. Warto również spojrzeć na JSScanner, który jest nakładką na LinkFinder.
  • goLinkFinder (go): Do wyodrębniania punktów końcowych zarówno w źródle HTML, jak i osadzonych plikach javascript. Przydatne dla łowców błędów, drużyn czerwonych i ninja bezpieczeństwa informacji.
  • JSParser (python2.7): Skrypt python 2.7 używający Tornado i JSBeautifier do analizowania względnych adresów URL z plików JavaScript. Przydatne do łatwego odkrywania żądań AJAX. Wygląda na to, że nie jest rozwijany.
  • relative-url-extractor (ruby): Dla danego pliku (HTML) wyodrębni adresy URL z niego, używając sprytnego wyrażenia regularnego do znalezienia i wyodrębnienia względnych adresów URL z brzydkich (zmniejszonych) plików.
  • JSFScan (bash, kilka narzędzi): Zbiera interesujące informacje z plików JS, korzystając z kilku narzędzi.
  • subjs (go): Znajdź pliki JS.
  • page-fetch (go): Ładuje stronę w przeglądarce bez wyświetlania i drukuje wszystkie załadowane adresy URL do załadowania strony.
  • Feroxbuster (rust): Narzędzie do odkrywania treści łączące kilka opcji poprzednich narzędzi
  • Javascript Parsing: Rozszerzenie Burp do znajdowania ścieżek i parametrów w plikach JS.
  • Sourcemapper: Narzędzie, które po podaniu adresu .js.map URL uzyska uporządkowany kod JS
  • xnLinkFinder: Jest to narzędzie używane do odkrywania punktów końcowych dla określonego celu.
  • waymore: Odkryj linki z maszyny wayback (pobierając również odpowiedzi w wayback i szukając więcej linków
  • HTTPLoot (go): Przeszukuje (nawet poprzez wypełnianie formularzy) i znajduje również wrażliwe informacje, korzystając z określonych wyrażeń regularnych.
  • SpiderSuite: Spider Suite to zaawansowany wielofunkcyjny pająk GUI do bezpieczeństwa sieciowego zaprojektowany dla profesjonalistów cyberbezpieczeństwa.
  • jsluice (go): Jest to pakiet Go i narzędzie wiersza poleceń do wyodrębniania adresów URL, ścieżek, sekretów i innych interesujących danych z kodu źródłowego JavaScript.
  • ParaForge: ParaForge to proste rozszerzenie Burp Suite do wyodrębniania parametrów i punktów końcowych z żądania w celu utworzenia niestandardowej listy słów do fuzzowania i wyliczania.

Brute Force katalogów i plików

Rozpocznij brute force od katalogu głównego i upewnij się, że brute force jest wykonywany na wszystkich znalezionych katalogach za pomocą tej metody oraz wszystkich katalogów odkrytych przez Spidering (możesz wykonać to rekurencyjnie i dołączyć na początku używanej listy słów nazwy znalezionych katalogów).
Narzędzia:

  • Dirb / Dirbuster - Zawarte w Kali, stare (i wolne), ale funkcjonalne. Pozwalają na automatyczne podpisywanie certyfikatów i rekurencyjne wyszukiwanie. Zbyt wolne w porównaniu z innymi opcjami.
  • Dirsearch (python): Nie pozwala na automatyczne podpisywanie certyfikatów, ale umożliwia rekurencyjne wyszukiwanie.
  • Gobuster (go): Pozwala na automatyczne podpisywanie certyfikatów, nie ma funkcji rekurencyjnego wyszukiwania.
  • Feroxbuster - Szybki, obsługuje rekurencyjne wyszukiwanie.
  • wfuzz wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ
  • ffuf - Szybki: ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ
  • uro (python): To nie jest pająk, ale narzędzie, które po podaniu listy znalezionych adresów URL usunie "zduplikowane" adresy URL.
  • Scavenger: Rozszerzenie Burp do tworzenia listy katalogów z historii burp różnych stron
  • TrashCompactor: Usuwa adresy URL z zduplikowanymi funkcjonalnościami (na podstawie importów js)
  • Chamaleon: Wykorzystuje wapalyzer do wykrywania używanych technologii i wybiera listy słów do użycia.

Polecane słowniki:

Zauważ, że za każdym razem, gdy odkryjesz nowy katalog podczas ataku brutalnej siły lub przeszukiwania, należy go poddać atakowi brutalnej siły.

Co sprawdzić w każdym znalezionym pliku

  • Sprawdzacz uszkodzonych linków: Znajdź uszkodzone linki wewnątrz plików HTML, które mogą być podatne na przejęcia.
  • Kopie zapasowe plików: Gdy znajdziesz wszystkie pliki, poszukaj kopii zapasowych wszystkich plików wykonywalnych (".php", ".aspx"...). Powszechne warianty nazw kopii zapasowych to: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp i file.old. Możesz również skorzystać z narzędzi bfac lub backup-gen.
  • Odkryj nowe parametry: Możesz użyć narzędzi takich jak Arjun, parameth, x8 i Param Miner do odkrywania ukrytych parametrów. Jeśli możesz, spróbuj wyszukać ukryte parametry w każdym pliku wykonywalnym na stronie internetowej.
  • Wszystkie domyślne listy słów Arjuna: https://github.com/s0md3v/Arjun/tree/master/arjun/db
  • Param-miner „params” : https://github.com/PortSwigger/param-miner/blob/master/resources/params
  • Assetnote „parameters_top_1m”: https://wordlists.assetnote.io/
  • nullenc0de „params.txt”: https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773
  • Komentarze: Sprawdź komentarze we wszystkich plikach, możesz znaleźć dane uwierzytelniające lub ukrytą funkcjonalność.
  • Jeśli bawisz się w CTF, „powszechnym” trikiem jest ukrycie informacji wewnątrz komentarzy na prawej stronie strony (używając setek spacji, aby nie widzieć danych podczas otwierania kodu źródłowego w przeglądarce). Inna możliwość to użycie kilku nowych linii i ukrycie informacji w komentarzu na dole strony internetowej.
  • Klucze API: Jeśli znajdziesz jakikolwiek klucz API, istnieje przewodnik, który wskazuje, jak korzystać z kluczy API różnych platform: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
  • Klucze API Google: Jeśli znajdziesz jakiś klucz API wyglądający jak AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik, możesz użyć projektu gmapapiscanner do sprawdzenia, do których interfejsów API ma dostęp klucz.
  • S3 Buckets: Podczas przeszukiwania zobacz, czy jakikolwiek poddomena lub link jest powiązany z jakimś kubłem S3. W takim przypadku sprawdź uprawnienia kubła.

Specjalne znaleziska

Podczas przeprowadzania przeszukiwania i ataków brutalnej siły możesz natrafić na interesujące rzeczy, na które musisz zwrócić uwagę.

Interesujące pliki

403 Forbidden/Basic Authentication/401 Unauthorized (omijanie)

{% content-ref url="403-and-401-bypasses.md" %} 403-and-401-bypasses.md {% endcontent-ref %}

502 Proxy Error

Jeśli jakakolwiek strona odpowiada tym kodem, prawdopodobnie jest to źle skonfigurowany serwer proxy. Jeśli wyślesz żądanie HTTP takie jak: GET https://google.com HTTP/1.1 (z nagłówkiem hosta i innymi standardowymi nagłówkami), proxy spróbuje uzyskać dostęp do google.com i znajdziesz SSRF.

Autoryzacja NTLM - Ujawnienie informacji

Jeśli działający serwer wymaga autoryzacji Windows lub znajdziesz logowanie proszące o dane uwierzytelniające (i proszące o nazwę domeny), możesz spowodować ujawnienie informacji.
Wyślij nagłówek: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” i ze względu na to, jak działa autoryzacja NTLM, serwer odpowie wewnętrznymi informacjami (wersja IIS, wersja Windows...) w nagłówku "WWW-Authenticate".
Możesz to zautomatyzować za pomocą wtyczki nmap "http-ntlm-info.nse".

Przekierowanie HTTP (CTF)

Możliwe jest umieszczenie treści wewnątrz przekierowania. Ta treść nie będzie pokazywana użytkownikowi (ponieważ przeglądarka wykonuje przekierowanie), ale coś może być ukryte w środku.

Sprawdzanie podatności sieci webowej

Po przeprowadzeniu kompleksowego wyliczenia aplikacji sieci webowej nadszedł czas, aby sprawdzić wiele potencjalnych podatności. Możesz znaleźć listę kontrolną tutaj:

{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %} web-vulnerabilities-methodology.md {% endcontent-ref %}

Dowiedz się więcej o podatnościach sieci webowej:

Monitorowanie stron pod kątem zmian

Możesz użyć narzędzi takich jak https://github.com/dgtlmoon/changedetection.io, aby monitorować strony pod kątem modyfikacji, które mogą wprowadzić podatności.

Jeśli interesuje Cię kariera hakera i chcesz hakować nie do złamania - rekrutujemy! (wymagana biegła znajomość języka polskiego w mowie i piśmie).

{% embed url="https://www.stmcyber.com/careers" %}

Automatyczne polecenia HackTricks

Protocol_Name: Web    #Protocol Abbreviation if there is one.
Port_Number:  80,443     #Comma separated if there is more than one.
Protocol_Description: Web         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for Web
Note: |
https://book.hacktricks.xyz/pentesting/pentesting-web

Entry_2:
Name: Quick Web Scan
Description: Nikto and GoBuster
Command: nikto -host {Web_Proto}://{IP}:{Web_Port} &&&& gobuster dir -w {Small_Dirlist} -u {Web_Proto}://{IP}:{Web_Port} && gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}

Entry_3:
Name: Nikto
Description: Basic Site Info via Nikto
Command: nikto -host {Web_Proto}://{IP}:{Web_Port}

Entry_4:
Name: WhatWeb
Description: General purpose auto scanner
Command: whatweb -a 4 {IP}

Entry_5:
Name: Directory Brute Force Non-Recursive
Description:  Non-Recursive Directory Brute Force
Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}

Entry_6:
Name: Directory Brute Force Recursive
Description: Recursive Directory Brute Force
Command: python3 {Tool_Dir}dirsearch/dirsearch.py -w {Small_Dirlist} -e php,exe,sh,py,html,pl -f -t 20 -u {Web_Proto}://{IP}:{Web_Port} -r 10

Entry_7:
Name: Directory Brute Force CGI
Description: Common Gateway Interface Brute Force
Command: gobuster dir -u {Web_Proto}://{IP}:{Web_Port}/ -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -s 200

Entry_8:
Name: Nmap Web Vuln Scan
Description: Tailored Nmap Scan for web Vulnerabilities
Command: nmap -vv --reason -Pn -sV -p {Web_Port} --script=`banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer)` {IP}

Entry_9:
Name: Drupal
Description: Drupal Enumeration Notes
Note: |
git clone https://github.com/immunIT/drupwn.git for low hanging fruit and git clone https://github.com/droope/droopescan.git for deeper enumeration

Entry_10:
Name: WordPress
Description: WordPress Enumeration with WPScan
Command: |
?What is the location of the wp-login.php? Example: /Yeet/cannon/wp-login.php
wpscan --url {Web_Proto}://{IP}{1} --enumerate ap,at,cb,dbe && wpscan --url {Web_Proto}://{IP}{1} --enumerate u,tt,t,vp --passwords {Big_Passwordlist} -e

Entry_11:
Name: WordPress Hydra Brute Force
Description: Need User (admin is default)
Command: hydra -l admin -P {Big_Passwordlist} {IP} -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'

Entry_12:
Name: Ffuf Vhost
Description: Simple Scan with Ffuf for discovering additional vhosts
Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters}
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: