<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
Politika bezbednosti sadržaja (CSP) je prepoznata kao tehnologija pregledača, pretežno usmerena na **zaštitu od napada poput skriptovanja preko različitih sajtova (XSS)**. Funkcioniše tako što definiše i detaljno opisuje putanje i izvore sa kojih pregledač može bezbedno učitati resurse. Ovi resursi obuhvataju različite elemente poput slika, okvira i JavaScript-a. Na primer, politika može dozvoliti učitavanje i izvršavanje resursa sa istog domena (self), uključujući i inline resurse i izvršavanje koda u obliku stringa putem funkcija poput `eval`, `setTimeout` ili `setInterval`.
Implementacija CSP-a se vrši putem **odgovarajućih zaglavlja** ili uključivanjem **meta elemenata u HTML stranicu**. Pregledači proaktivno sprovode ove odredbe i odmah blokiraju bilo kakva otkrivena kršenja.
*`Content-Security-Policy`: Sprovodi CSP; pregledač blokira svako kršenje.
*`Content-Security-Policy-Report-Only`: Koristi se za praćenje; prijavljuje kršenja bez blokiranja. Idealno za testiranje u okruženjima pre proizvodnje.
CSP ograničava poreklo za učitavanje kako aktivnog tako i pasivnog sadržaja, kontrolišući aspekte poput izvršavanja inline JavaScript-a i korišćenja `eval()`. Primer politike je:
* **frame-ancestors**: Specificira koje izvore mogu ugraditi trenutnu stranicu, primenljivo na elemente poput `<frame>`, `<iframe>`, `<object>`, `<embed>` i `<applet>`.
* Ako imate ograničeno izvršavanje JS-a, moguće je dobiti korišćeni nonce unutar stranice sa `doc.defaultView.top.document.querySelector("[nonce]")` i zatim ga ponovo koristiti za učitavanje zlonamerne skripte (ako je korišćen strict-dynamic, bilo koji dozvoljeni izvor može učitati nove izvore pa ovo nije potrebno), kao u:
*`'strict-dynamic'`: Allows loading scripts from any source if it has been whitelisted by a nonce or hash.
*`'host'`: Specifies a specific host, like `example.com`.
*`https:`: Restricts URLs to those that use HTTPS.
*`blob:`: Allows resources to be loaded from Blob URLs (e.g., Blob URLs created via JavaScript).
*`filesystem:`: Allows resources to be loaded from the filesystem.
*`'report-sample'`: Includes a sample of the violating code in the violation report (useful for debugging).
*`'strict-origin'`: Similar to 'self' but ensures the protocol security level of the sources matches the document (only secure origins can load resources from secure origins).
*`'strict-origin-when-cross-origin'`: Sends full URLs when making same-origin requests but only sends the origin when the request is cross-origin.
*`'unsafe-allow-redirects'`: Allows resources to be loaded that will immediately redirect to another resource. Not recommended as it weakens security.
Ako na neki način možete da naterate **dozvoljeni JS kod da kreira novi tag skripte** u DOM-u sa vašim JS kodom, jer dozvoljeni skript kreira, **novi tag skripte će biti dozvoljen za izvršavanje**.
Štaviše, čak i ako biste mogli da otpremite **JS kod unutar** fajla koristeći ekstenziju koju server prihvata (na primer: _script.png_), to neće biti dovoljno jer neki serveri poput apache servera **biraju MIME tip fajla na osnovu ekstenzije** i pregledači poput Chrome-a će **odbiti da izvrše Javascript** kod unutar nečega što bi trebalo da bude slika. "Na sreću", postoje greške. Na primer, iz jednog CTF-a sam naučio da **Apache ne prepoznaje** ekstenziju _**.wave**_, stoga je ne servira sa **MIME tipom kao audio/\***.
Odavde, ako pronađete XSS i mogućnost otpremanja fajla, i uspete da pronađete **pogrešno tumačenu ekstenziju**, možete pokušati da otpremite fajl sa tom ekstenzijom i sadržajem skripte. Ili, ako server proverava tačan format otpremljenog fajla, kreirajte poliglot ([neki primeri poliglota ovde](https://github.com/Polydet/polyglot-database)).
Ako nije moguće ubaciti JS, još uvek možete pokušati da eksfiltrirate na primer kredencijale **ubacivanjem akcije forme** (i možda očekujući da menadžeri lozinki automatski popune lozinke). Možete pronaći [**primer u ovom izveštaju**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp). Takođe, primetite da `default-src` ne pokriva akcije formi.
#### Payloadi koji koriste Angular + biblioteku sa funkcijama koje vraćaju `window` objekat ([proverite ovaj post](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)):
Post pokazuje da biste mogli **učitati** sve **biblioteke** sa `cdn.cloudflare.com` (ili bilo kojeg drugog dozvoljenog repozitorijuma JS biblioteka), izvršiti sve dodate funkcije iz svake biblioteke, i proveriti **koje funkcije iz kojih biblioteka vraćaju `window` objekat**.
Prema [**ovom CTF writeup-u**](https://blog-huli-tw.translate.goog/2023/07/28/google-zer0pts-imaginary-ctf-2023-writeup/?\_x\_tr\_sl=es&\_x\_tr\_tl=en&\_x\_tr\_hl=es&\_x\_tr\_pto=wapp#noteninja-3-solves) možete zloupotrebiti [https://www.google.com/recaptcha/](https://www.google.com/recaptcha/) unutar CSP-a da biste izvršili proizvoljan JS kod zaobići CSP:
Moguće je zloupotrebiti Google Apps Script kako bi se primile informacije na stranici unutar script.google.com. Kao što je [uradjeno u ovom izveštaju](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/).
Scenariji poput ovog gde je `script-src` postavljen na `self` i određeni domen koji je dodat na belu listu mogu biti zaobiđeni korišćenjem JSONP-a. JSONP endpointi dozvoljavaju nesigurne povratne metode koje omogućavaju napadaču da izvrši XSS, radno opterećenje:
Ista ranjivost će se pojaviti ako **pouzdani endpoint sadrži otvoreno preusmeravanje** jer ako je početni endpoint pouzdan, preusmeravanja su pouzdana.
Kao što je opisano u [sledećem postu](https://sensepost.com/blog/2023/dress-code-the-talk/#bypasses), postoji mnogo domena trećih strana koje su dozvoljene negde u CSP-u, a mogu se zloupotrebiti kako bi se ili eksfiltrirali podaci ili izvršio JavaScript kod. Neke od ovih trećih strana su:
Ako pronađete neki od dozvoljenih domena u CSP-u vašeg cilja, postoji mogućnost da možete zaobići CSP registracijom na uslugu treće strane i, ili eksfiltrirati podatke ka toj usluzi ili izvršiti kod.
Content Security Policy (CSP) je mehanizam bezbednosti koji pomaže u zaštiti od XSS napada. CSP definiše koje vrste resursa (kao što su skripte, slike, stilovi itd.) mogu biti učitane na veb stranici. Međutim, postoje načini za zaobilaženje CSP-a kako bi se omogućilo izvršavanje zabranjenih operacija.
1.**Inline JavaScript**: CSP može zabraniti inline JavaScript kôd, ali postoje načini da se ovaj mehanizam zaobiđe. Na primer, korišćenjem događaja kao što su `onclick` ili `onmouseover` može se izvršiti JavaScript kôd direktno na stranici.
2.**External Resources**: CSP može ograničiti učitavanje resursa sa spoljnih lokacija. Međutim, korišćenjem dozvoljenih domena ili CDN-ova, moguće je učitati resurse sa spoljnih lokacija.
4.**Unsafe Inline**: Postavka `unsafe-inline` u CSP pravilu omogućava izvršavanje inline skripti i stilova, iako se ne preporučuje zbog sigurnosnih rizika.
Iako je CSP moćan alat za zaštitu veb aplikacija od XSS napada, važno je razumeti potencijalne načine zaobilaženja kako bi se osigurala potpuna bezbednost. Redovno testiranje CSP pravila i implementacija dodatnih sigurnosnih mera su ključni koraci u održavanju sigurne veb aplikacije.
Treba da možete da eksfiltrirate podatke, slično kao što je to uvek rađeno sa [Google Analytics](https://www.humansecurity.com/tech-engineering-blog/exfiltrating-users-private-data-using-google-analytics-to-bypass-csp)/[Google Tag Manager](https://blog.deteact.com/csp-bypass/). U ovom slučaju, pratite ove opšte korake:
4. Na ciljnom sajtu sa kog želite da eksfiltrirate podatke, možete to uraditi direktno koristeći Facebook SDK uređaj "fbq" putem "customEvent" i podataka za prenos.
5. Idite na svoju aplikaciju "Event Manager" i izaberite aplikaciju koju ste kreirali (napomena: menadžer događaja može se pronaći na URL sličnom ovom: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events).
Zatim, na strani žrtve, izvršite sledeći kod da biste inicijalizovali Facebook praćenje piksela da pokazuje ka aplikaciji napadača na Facebook developer nalogu app-id i izdajte prilagođeni događaj ovako:
Pored pomenutog preusmeravanja za zaobilaženje ograničenja putanje, postoji još jedna tehnika nazvana Relative Path Overwrite (RPO) koja se može koristiti na nekim serverima.
Ovo funkcioniše jer za preglednik učitavate datoteku nazvanu `..%2fangular%2fangular.js` smeštenu pod `https://example.com/scripts/react/`, što je u skladu sa CSP.
Zatim će je dekodirati, efektivno zahtevajući `https://example.com/scripts/react/../angular/angular.js`, što je ekvivalentno sa `https://example.com/scripts/angular/angular.js`.
Rešenje je ne tretirati `%2f` kao `/` na serverskoj strani, osiguravajući dosledno tumačenje između preglednika i servera kako bi se izbegao ovaj problem.
Ako nedostaje direktiva **base-uri** možete je zloupotrebiti da biste izvršili [**dangling markup injection**](../dangling-markup-html-scriptless-injection/).
Osim toga, ako **stranica učitava skriptu koristeći relativnu putanju** (kao što je `<script src="/js/app.js">`) koristeći **Nonce**, možete zloupotrebiti **base****tag** da biste je **učitali** sa **vašeg servera postižući XSS.**\
Specifična politika poznata kao Politika bezbednosti sadržaja (CSP) može ograničiti JavaScript događaje. Ipak, AngularJS uvodi prilagođene događaje kao alternativu. Unutar događaja, AngularJS pruža jedinstveni objekat `$event`, koji se odnosi na nativni objekat događaja pregledača. Ovaj `$event` objekat može biti iskorišćen da se zaobiđe CSP. Posebno, u Chrome-u, `$event/event` objekat poseduje atribut `path`, koji sadrži niz objekata uključenih u lanac izvršenja događaja, pri čemu je `window` objekat neizbežno pozicioniran na kraju. Ova struktura je ključna za taktike bekstva iz peska.
Usmeravanjem ovog niza ka filteru `orderBy`, moguće je iterirati preko njega, iskorišćavajući terminalni element (objekat `window`) da pokrene globalnu funkciju poput `alert()`. Demonstrirani isečak koda ispod objašnjava ovaj proces:
Ovaj odlomak ističe upotrebu `ng-focus` direktive za pokretanje događaja, korišćenje `$event.path|orderBy` za manipulaciju `path` niza, i iskorišćavanje `window` objekta za izvršavanje `alert()` funkcije, čime se otkriva `document.cookie`.
CSP politika koja beleži domene za učitavanje skripti u Angular JS aplikaciji može biti zaobiđena pozivom povratnih funkcija i određenih ranjivih klasa. Više informacija o ovoj tehnici možete pronaći u detaljnom vodiču dostupnom na ovom [git repozitorijumu](https://github.com/cure53/XSSChallengeWiki/wiki/H5SC-Minichallenge-3:-%22Sh\*t,-it's-CSP!%22).
Šta se dešava kada CSP naiđe na preusmeravanje na serverskoj strani? Ako preusmeravanje vodi ka drugom poreklu koje nije dozvoljeno, i dalje će ne uspeti.
Međutim, prema opisu u [CSP specifikaciji 4.2.2.3. Putanje i preusmeravanja](https://www.w3.org/TR/CSP2/#source-list-paths-and-redirects), ako preusmeravanje vodi ka drugoj putanji, može zaobići originalna ograničenja.
Ako je CSP postavljen na `https://www.google.com/a/b/c/d`, s obzirom da se putanja uzima u obzir, i skripte `/test` i `/a/test` će biti blokirane od strane CSP.
Međutim, konačni `http://localhost:5555/301` će biti **preusmeren na serverskoj strani na `https://www.google.com/complete/search?client=chrome&q=123&jsonp=alert(1)//`**. Budući da je u pitanju preusmerenje, **putanja se ne uzima u obzir**, i **skripta može biti učitana**, čime se zaobilazi ograničenje putanje.
Stoga, najbolje rešenje je osigurati da veb lokacija nema otvorene ranjivosti na preusmeravanje i da ne postoje domeni koji mogu biti iskorišćeni u pravilima CSP.
`'unsafe-inline'` znači da možete izvršiti bilo koji skript unutar koda (XSS može izvršiti kod) i `img-src *` znači da možete koristiti na veb stranici bilo koju sliku sa bilo kog resursa.
Ovu CSP možete zaobići eksfiltrirajući podatke putem slika (u ovom slučaju XSS zloupotrebljava CSRF gde stranica dostupna botu sadrži SQLi, i izvlači zastavu putem slike):
Možete zloupotrebiti ovu konfiguraciju da **učitate JavaScript kod ubačen unutar slike**. Na primer, ako stranica dozvoljava učitavanje slika sa Twittera. Možete **napraviti****specijalnu sliku**, **učitati** je na Twitter i zloupotrebiti "**unsafe-inline**" da **izvršite** JS kod (kao redovan XSS) koji će **učitati** sliku, **izvući** JS iz nje i **izvršiti****ga**: [https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/](https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/)
Ako je **parametar** koji ste poslali **zalepljen unutar****deklaracije****politike**, tada možete **izmeniti****politiku** na način koji je **beskoristan**. Možete **dozvoliti skript 'unsafe-inline'** sa bilo kojim od ovih prelaza:
Primer možete pronaći ovde: [http://portswigger-labs.net/edge\_csp\_injection\_xndhfye721/?x=%3Bscript-src-elem+\*\&y=%3Cscript+src=%22http://subdomain1.portswigger-labs.net/xss/xss.js%22%3E%3C/script%3E](http://portswigger-labs.net/edge\_csp\_injection\_xndhfye721/?x=%3Bscript-src-elem+\*\&y=%3Cscript+src=%22http://subdomain1.portswigger-labs.net/xss/xss.js%22%3E%3C/script%3E)
Ovog puta možete naterati žrtvu da **učita** stranicu pod **vašom kontrolom** putem **XSS** sa `<iframe`. Ovog puta ćete naterati žrtvu da pristupi stranici sa koje želite izvući informacije (**CSRF**). Ne možete pristupiti sadržaju stranice, ali ako na neki način možete **kontrolisati vreme potrebno za učitavanje stranice** možete izvući potrebne informacije.
Ovog puta će se **flag** izvući, svaki put kada se **karakter tačno pogodi** putem SQLi, **odgovor** traje **duže vreme** zbog sleep funkcije. Tada ćete moći izvući flag:
Ovaj napad bi implicirao neko oblik društvenog inženjeringa gde napadač **ubeđuje korisnika da prevuče i ispusti link preko bookmarkleta pretraživača**. Ovaj bookmarklet bi sadržao **zlonamerni JavaScript** kod koji bi se izvršio kada bi bio prevučen i ispusten ili kliknut u kontekstu trenutnog prozora veb stranice, **zaobilazeći CSP i omogućavajući krađu osetljivih informacija** kao što su kolačići ili tokeni.
U [**ovom CTF izveštaju**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution), CSP je zaobiđen ubacivanjem unutar dozvoljenog iframe-a strožiji CSP koji nije dozvoljavao učitavanje određene JS datoteke koja je zatim, putem **zagađenja prototipa** ili **dom clobbering-a**, omogućila **zloupotrebu drugačijeg skripta za učitavanje proizvoljnog skripta**.
U [**ovom CTF zapisu**](https://github.com/aszx87410/ctf-writeups/issues/48), bilo je moguće putem **HTML ubacivanja** da se **ograniči** više **CSP** tako da je skripta koja sprečava CSTI bila onemogućena i stoga je **ranjivost postala iskoristiva.**\
CSP može postati stroži korišćenjem **HTML meta tagova** i inline skripte mogu biti onemogućene **uklanjanjem****unosa** koji omogućava njihov **nonce** i **omogućavanje određene inline skripte putem sha**:
Ako uspete da naterate server da odgovori sa zaglavljem **`Content-Security-Policy-Report-Only`** sa **vrednošću kojom upravljate vi** (možda zbog CRLF-a), možete ga naterati da upućuje ka vašem serveru i ako **obavijete****JS sadržaj** koji želite da ekstraktujete sa **`<script>`** i jer je veoma verovatno da `unsafe-inline` nije dozvoljen od strane CSP-a, ovo će **pokrenuti CSP grešku** i deo skripte (koji sadrži osetljive informacije) će biti poslat na server sa `Content-Security-Policy-Report-Only`.
* Slušanjem događaja `securitypolicyviolation`, moguće je uhvatiti svojstvo `blockedURI`. Ovo svojstvo otkriva domen blokiranog URI-ja, otkrivajući tajni domen ka kojem je prvobitni URL preusmeren.
Zanimljivo je napomenuti da pregledači poput Chrome-a i Firefox-a imaju različito ponašanje u rukovanju iframe-ovima u vezi sa CSP-om, što može dovesti do potencijalnog otkrivanja osetljivih informacija zbog nedefinisanog ponašanja.
Druga tehnika uključuje iskorišćavanje samog CSP-a kako bi se zaključio tajni poddomen. Ova metoda se oslanja na binarni pretraga algoritam i prilagođavanje CSP-a kako bi uključio određene domene koje su namerno blokirane. Na primer, ako je tajni poddomen sastavljen od nepoznatih karaktera, možete iterativno testirati različite poddomene modifikujući CSP direktivu da blokira ili dozvoljava ove poddomene. Evo isečka koji prikazuje kako bi CSP mogao biti podešen da olakša ovu metodu:
Oba metoda iskorišćavaju nijanse implementacije i ponašanja CSP-a u pregledačima, pokazujući kako se naizgled sigurne politike mogu nenamerno otkriti osetljive informacije.
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
Prema [**poslednjoj tehnici komentarisanoj u ovom videu**](https://www.youtube.com/watch?v=Sm4G6cAHjWM), slanje previše parametara (1001 GET parametar, mada to možete uraditi i sa POST parametrima i više od 20 fajlova). Bilo koja definisana **`header()`** u PHP web kodu **neće biti poslata** zbog greške koju će ovo izazvati.
### Preopterećenje bafera odgovora u PHP-u
PHP je poznat po **baferovanju odgovora do 4096** bajtova po podrazumevanim podešavanjima. Stoga, ako PHP prikaže upozorenje, pružanjem **dovoljno podataka unutar upozorenja**, **odgovor** će biti **poslat****pre****CSP zaglavlja**, što dovodi do ignorisanja zaglavlja.\
Zatim, tehnika se uglavnom sastoji u **popunjavanju bafera odgovora upozorenjima** kako CSP zaglavlje ne bi bilo poslato.
Iz [**ovog writeupa**](https://blog.ssrf.kr/69) izgleda da je bilo moguće zaobići CSP zaštitu učitavanjem stranice greške (potencijalno bez CSP-a) i prepravljanjem njenog sadržaja.
SOME je tehnika koja zloupotrebljava XSS (ili veoma ograničen XSS) **na kraju stranice** da bi **zloupotrebila****druge krajnje tačke istog porekla.** Ovo se postiže učitavanjem ranjive krajnje tačke sa stranice napadača, a zatim osvežavanjem stranice napadača do prave krajnje tačke u istom poreklu koju želite zloupotrebiti. Na ovaj način **ranjiva krajnja tačka** može koristiti objekat **`opener`** u **payload-u** da bi **pristupila DOM-u****prave krajnje tačke koju želite zloupotrebiti.** Za više informacija pogledajte:
Štaviše, **wordpress** ima **JSONP** krajnju tačku u `/wp-json/wp/v2/users/1?_jsonp=data` koja će **reflektovati****podatke** poslate u izlazu (sa ograničenjem samo slova, brojeva i tačaka).
Napadač može zloupotrebiti tu krajnju tačku da bi **generisao SOME napad** na WordPress i **ugradio** ga unutar `<script s`rc=`/wp-json/wp/v2/users/1?_jsonp=some_attack></script>` obratite pažnju da će se ovaj **skript****učitati** jer je **dozvoljen od strane 'self'**. Štaviše, i zato što je WordPress instaliran, napadač može zloupotrebiti **SOME napad** putem **ranjive****callback** krajnje tačke koja **zaobilazi CSP** da bi dao više privilegija korisniku, instalirao novi dodatak...\
Za više informacija o tome kako izvesti ovaj napad pogledajte [https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/](https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/)
Ako postoji strogi CSP koji vam ne dozvoljava da **interaktujete sa eksternim serverima**, postoje neke stvari koje uvek možete uraditi da eksfiltrirate informacije.
When a website's CSP allows `'unsafe-inline'` for the `script-src` directive, it is possible to execute inline JavaScript code. This can be exploited by injecting malicious scripts directly into HTML elements such as `<img>`, `<video>`, `<audio>`, `<iframe>`, `<object>`, `<embed>`, `<applet>`, and `<base>`.
If a CSP allows data URI scheme (`data:`) for the `script-src` directive, an attacker can bypass the CSP by encoding the malicious script into a data URI format and injecting it into the vulnerable website.
By using the `nonce` attribute in the CSP header along with a dynamically generated nonce value, it is possible to bypass CSP restrictions and execute inline scripts. The `nonce` value needs to be included in the script tag of the payload.
When a CSP allows the `hash` attribute for the `script-src` directive, an attacker can bypass CSP restrictions by calculating the hash of the malicious script and including it in the CSP header. This allows the script to execute despite the CSP rules.
If a website allows WebSockets connections to domains that are not specified in the CSP, an attacker can establish a WebSocket connection to a malicious server and receive commands to execute arbitrary code on the vulnerable website.
Cross-Site Scripting (XSS) vulnerabilities can also be used to bypass CSP restrictions. By exploiting an XSS vulnerability on a website, an attacker can inject and execute malicious scripts despite the CSP rules in place.
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**