<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
Dit is 'n **teksgebaseerde** protokol wat die **nuwe lynkarakter `0x0d 0x0a`** gebruik, sodat jy soms moet **verbind deur middel van `telnet`** of **`nc -C`**.
In **Aktiewe FTP** inisieer die FTP **klient** eerste die beheer **verbindings** vanaf sy poort N na die FTP-bediener se bevelspoort - poort 21. Die **klient** luister dan na poort **N+1** en stuur die poort N+1 na die FTP-bediener. FTP **Bediener** inisieer dan die data **verbindings**, vanaf **sy poort M na die poort N+1** van die FTP-klient.
Maar, as die FTP-klient 'n vuurmuuropstelling het wat die inkomende data verbindings van buite beheer, kan aktiewe FTP 'n probleem wees. En 'n uitvoerbare oplossing daarvoor is Passiewe FTP.
In **Passiewe FTP**, inisieer die klient die beheer verbindings vanaf sy poort N na poort 21 van die FTP-bediener. Hierna gee die klient 'n **passv bevel** uit. Die bediener stuur dan een van sy poortnommer M na die klient. En die **klient****inisieer** die data **verbindings** vanaf **sy poort P na poort M** van die FTP-bediener.
Hier kan jy 'n mooi lys met verstek ftp-inligting vind: [https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt)
Merk op dat as 'n **webtoepassing** data wat deur 'n gebruiker beheer word **direk na 'n FTP-bediener stuur**, kan jy dubbele URL-kodering `%0d%0a` stuur (in dubbele URL-kodering is dit `%250d%250a`) bytes en die **FTP-bediener arbitrêre aksies laat uitvoer**. Een van hierdie moontlike arbitrêre aksies is om inhoud van 'n gebruiker se beheerde bediener af te laai, poortskandering uit te voer of te probeer om met ander teksgebaseerde dienste (soos http) te kommunikeer.
* \*\*`PORT 127,0,0,1,0,80`\*\*Dit sal die FTP-bedienaar aandui om 'n verbinding met die IP 127.0.0.1 op poort 80 te vestig (_jy moet die 5de karakter as "0" plaas en die 6de as die poort in desimaal of gebruik die 5de en 6de om die poort in heksadesimaal uit te druk_).
* \*\*`EPRT |2|127.0.0.1|80|`\*\*Dit sal die FTP-bedienaar aandui om 'n TCP-verbindig (_aangedui deur "2"_) met die IP 127.0.0.1 op poort 80 te vestig. Hierdie opdrag **ondersteun IPv6**.
* **`LIST -R`** Lys herhalend (indien toegelaat deur die bediener)
* **`APPE /pad/iets.txt`** Dit sal die FTP aandui om die ontvangs van data van 'n **passiewe** verbinding of van 'n **PORT/EPRT**-verbinding na 'n lêer te stoor. As die lêernaam bestaan, sal dit die data byvoeg.
* **`RETR /pad/na/lêer`** 'n Passiewe of 'n poortverbinding moet gevestig word. Dan sal die FTP-bedienaar die aangeduide lêer deur daardie verbinding stuur
Sommige FTP-bedieners laat die opdrag PORT toe. Hierdie opdrag kan gebruik word om aan die bediener aan te dui dat jy wil koppel aan 'n ander FTP-bediener op 'n sekere poort. Dan kan jy dit gebruik om te skandeer watter poorte van 'n gasrekenaar oop is deur 'n FTP-bedienaar.
Jy kan ook hierdie gedrag misbruik om 'n FTP-bedienaar met ander protokolle te laat interaksieer. Jy kan **'n lêer oplaai wat 'n HTTP-aanvraag bevat** en die kwesbare FTP-bedienaar **dit stuur na 'n willekeurige HTTP-bedienaar** (_miskien om 'n nuwe administrateurgebruiker by te voeg?_) of selfs 'n FTP-aanvraag oplaai en die kwesbare FTP-bedienaar 'n lêer laat aflaai vir 'n ander FTP-bedienaar.\
1.**Laai die aanvraag (binne 'n tekslêer) na die kwesbare bediener.** Onthou dat as jy wil kommunikeer met 'n ander HTTP- of FTP-bedienaar, moet jy lyne met `0x0d 0x0a` verander
2.**Gebruik `REST X` om te verhoed dat jy die karakters stuur wat jy nie wil stuur nie** (miskien om die aanvraag binne die lêer te plaas, moes jy 'n beeldkop aan die begin sit)
Dit is baie waarskynlik dat dit **'n fout soos** _**Socket nie skryfbaar nie**_**sal veroorsaak omdat die verbinding nie genoeg duur om die data met `RETR` te stuur**. Voorstelle om te probeer om dit te vermy is:
* Probeer om **die aanvraag met "rommel" data relatief tot die protokol te vul** (as jy met FTP praat, dalk net rommelopdragte of herhaling van die `RETR`-instruksie om die lêer te kry)
Hoe dan ook, hier het jy 'n [ou voorbeeld oor hoe om dit te misbruik om 'n FTP-bedienaar 'n lêer van 'n ander FTP-bedienaar af te laai.](ftp-bounce-download-2oftp-file.md)
**FileZilla** bind gewoonlik aan 'n **plaaslike** Administratiewe diens vir die **FileZilla-Bedienaar** (poort 14147). As jy 'n **tonnel** vanaf **jou rekenaar** kan skep om toegang tot hierdie poort te verkry, kan jy daaraan **koppel** met 'n **leë wagwoord** en 'n **nuwe gebruiker** vir die FTP-diens **skep**.
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).