Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
> **Memcached** (izgovor: mem-kesd, mem-keš-di) je sistem za keširanje u memoriji opšte namene. Često se koristi za ubrzavanje dinamičkih veb sajtova koji koriste baze podataka keširanjem podataka i objekata u RAM-u kako bi se smanjio broj puta kada se mora čitati spoljni izvor podataka (kao što su baza podataka ili API).
U oblasti memcache, protokola koji pomaže u organizovanju podataka po slabovima, postoje specifične komande za inspekciju sačuvanih podataka, iako sa značajnim ograničenjima:
2. Postoji ograničenje od jedne stranice po slab klasi, što odgovara 1MB podataka.
3. Ova funkcija je neslužbena i može biti ukinuta u bilo kojem trenutku, kao što je raspravljeno na [forumima zajednice](https://groups.google.com/forum/?fromgroups=#!topic/memcached/1-T8I-RVGKM).
Ograničenje dumpovanja samo 1MB iz potencijalno gigabajta podataka je posebno značajno. Ipak, ova funkcionalnost može pružiti uvide u obrasce korišćenja ključeva, u zavisnosti od specifičnih potreba. Za one koji su manje zainteresovani za mehaniku, poseta [odeljku sa alatima](https://lzone.de/cheat-sheet/memcached#tools) otkriva alate za sveobuhvatan dump. Alternativno, proces korišćenja telnet-a za direktnu interakciju sa memcached postavkama je opisan u nastavku.
Organizacija memorije u memcache-u je ključna. Pokretanje memcache-a sa opcijom "-vv" otkriva slab klase koje generiše, kao što je prikazano u nastavku:
Ove statistike omogućavaju obrazložene pretpostavke o ponašanju keširanja aplikacija, uključujući efikasnost keša za različite veličine sadržaja, alokaciju memorije i kapacitet za keširanje velikih objekata.
Sa verzijom memcache 1.4.31 i iznad, uvedena je nova, sigurnija metoda za dumpovanje ključeva u produkcionom okruženju, koristeći neblokirajući režim kao što je detaljno opisano u [release notes](https://github.com/memcached/memcached/wiki/ReleaseNotes1431). Ovaj pristup generiše opsežan izlaz, stoga se preporučuje korišćenje 'nc' komande za efikasnost. Primeri uključuju:
| Perl | [memdump](https://search.cpan.org/\~dmaki/Memcached-libmemcached-0.4202/src/libmemcached/docs/memdump.pod) | Alat u CPAN modulu | [Memcached-libmemcached](https://search.cpan.org/\~dmaki/Memcached-libmemc) | ached/) |
| PHP | [memcache.php](http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/) | Memcache Monitoring GUI koji takođe omogućava dumpovanje ključeva | | |
| libmemcached | [peep](http://blog.evanweaver.com/2009/04/20/peeping-into-memcached/) | **Zamrzava vaš memcached proces!!!** Budite oprezni kada to koristite u produkciji. I dalje, koristeći to možete zaobići ograničenje od 1MB i stvarno dumpovati **sve** ključeve. | | |
Ako pokušate da “set” ili “add” ključ sa vremenskim ograničenjem većim od dozvoljenog maksimuma, možda nećete dobiti ono što očekujete jer memcached tada tretira vrednost kao Unix vremensku oznaku. Takođe, ako je vremenska oznaka u prošlosti, neće učiniti ništa. Vaša komanda će tiho propasti.
Iako dokumentacija kaže nešto o prebacivanju oko 64bit prelivanja vrednosti koristeći “incr”, to uzrokuje da vrednost nestane. Potrebno je ponovo je kreirati koristeći “add”/”set”.
Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.