# Memcache Commands {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * 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.
{% endhint %}
{% embed url="https://websec.nl/" %} ## Commands Cheat-Sheet **From** [**https://lzone.de/cheat-sheet/memcached**](https://lzone.de/cheat-sheet/memcached) Les commandes supportées (les officielles et certaines non officielles) sont documentées dans le document [doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt). Malheureusement, la description de la syntaxe n'est pas vraiment claire et une simple commande d'aide listant les commandes existantes serait beaucoup mieux. Voici un aperçu des commandes que vous pouvez trouver dans la [source](https://github.com/memcached/memcached) (à partir du 19.08.2016) : | Command | Description | Example | | --------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | get | Lit une valeur | `get mykey` | | set | Définit une clé sans condition |

set mykey <flags> <ttl> <size>

<p>Assurez-vous d'utiliser \r\n comme sauts de ligne lors de l'utilisation des outils CLI Unix. Par exemple</p> printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211

| | add | Ajoute une nouvelle clĂ© | `add newkey 0 60 5` | | replace | Écrase une clĂ© existante | `replace key 0 60 5` | | append | Ajoute des donnĂ©es Ă  une clĂ© existante | `append key 0 60 15` | | prepend | PrĂ©pende des donnĂ©es Ă  une clĂ© existante | `prepend key 0 60 15` | | incr | IncrĂ©mente la valeur numĂ©rique d'une clĂ© donnĂ©e | `incr mykey 2` | | decr | DĂ©crĂ©mente la valeur numĂ©rique d'une clĂ© donnĂ©e | `decr mykey 5` | | delete | Supprime une clĂ© existante | `delete mykey` | | flush\_all | Invalide tous les Ă©lĂ©ments immĂ©diatement | `flush_all` | | flush\_all | Invalide tous les Ă©lĂ©ments dans n secondes | `flush_all 900` | | stats | Imprime des statistiques gĂ©nĂ©rales | `stats` | | | Imprime des statistiques de mĂ©moire | `stats slabs` | | | Imprime des statistiques d'allocation de niveau supĂ©rieur | `stats malloc` | | | Imprime des informations sur les Ă©lĂ©ments | `stats items` | | | | `stats detail` | | | | `stats sizes` | | | RĂ©initialise les compteurs de statistiques | `stats reset` | | lru\_crawler metadump | Dump (la plupart) des mĂ©tadonnĂ©es pour (tous) les Ă©lĂ©ments dans le cache | `lru_crawler metadump all` | | version | Imprime la version du serveur. | `version` | | verbosity | Augmente le niveau de journalisation | `verbosity` | | quit | Termine la session | `quit` | #### Traffic Statistics Vous pouvez interroger les statistiques de trafic actuelles en utilisant la commande ``` stats ``` Vous obtiendrez une liste qui sert le nombre de connexions, d'octets entrants/sortants et bien plus encore. Exemple de sortie : ``` STAT pid 14868 STAT uptime 175931 STAT time 1220540125 STAT version 1.2.2 STAT pointer_size 32 STAT rusage_user 620.299700 STAT rusage_system 1545.703017 STAT curr_items 228 STAT total_items 779 STAT bytes 15525 STAT curr_connections 92 STAT total_connections 1740 STAT connection_structures 165 STAT cmd_get 7411 STAT cmd_set 28445156 STAT get_hits 5183 STAT get_misses 2228 STAT evictions 0 STAT bytes_read 2112768087 STAT bytes_written 1000038245 STAT limit_maxbytes 52428800 STAT threads 1 END ``` #### Statistiques de MĂ©moire Vous pouvez interroger les statistiques de mĂ©moire actuelles en utilisant ``` stats slabs ``` ```markdown # Memcache Commands ## Basic Commands - `set`: DĂ©finit une valeur pour une clĂ©. - `get`: RĂ©cupĂšre la valeur d'une clĂ©. - `delete`: Supprime une clĂ© et sa valeur. ## Advanced Commands - `incr`: IncrĂ©mente la valeur d'une clĂ©. - `decr`: DĂ©crĂ©mente la valeur d'une clĂ©. - `flush_all`: Efface toutes les clĂ©s et valeurs. ## Usage Pour utiliser ces commandes, connectez-vous Ă  votre serveur Memcache et exĂ©cutez les commandes appropriĂ©es. ``` ``` STAT 1:chunk_size 80 STAT 1:chunks_per_page 13107 STAT 1:total_pages 1 STAT 1:total_chunks 13107 STAT 1:used_chunks 13106 STAT 1:free_chunks 1 STAT 1:free_chunks_end 12886 STAT 2:chunk_size 100 STAT 2:chunks_per_page 10485 STAT 2:total_pages 1 STAT 2:total_chunks 10485 STAT 2:used_chunks 10484 STAT 2:free_chunks 1 STAT 2:free_chunks_end 10477 [...] STAT active_slabs 3 STAT total_malloced 3145436 END ``` Si vous n'ĂȘtes pas sĂ»r d'avoir suffisamment de mĂ©moire pour votre instance memcached, surveillez toujours les compteurs "evictions" fournis par la commande "stats". Si vous avez suffisamment de mĂ©moire pour l'instance, le compteur "evictions" devrait ĂȘtre 0 ou du moins ne pas augmenter. #### Quelles clĂ©s sont utilisĂ©es ? Il n'y a pas de fonction intĂ©grĂ©e pour dĂ©terminer directement l'ensemble actuel des clĂ©s. Cependant, vous pouvez utiliser le ``` stats items ``` commande pour dĂ©terminer combien de clĂ©s existent. ``` stats items STAT items:1:number 220 STAT items:1:age 83095 STAT items:2:number 7 STAT items:2:age 1405 [...] END ``` Cela aide au moins Ă  voir si des clĂ©s sont utilisĂ©es. Pour extraire les noms de clĂ©s d'un script PHP qui effectue dĂ©jĂ  l'accĂšs Ă  memcache, vous pouvez utiliser le code PHP de [100days.de](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html).
{% embed url="https://websec.nl/" %} {% hint style="success" %} Apprenez et pratiquez le hacking AWS :[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Apprenez et pratiquez le hacking GCP : [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Soutenir HackTricks * Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) ! * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐩 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dĂ©pĂŽts github.
{% endhint %}