Memcache Commands

Support HackTricks

Commands Cheat-Sheet

From https://lzone.de/cheat-sheet/memcached

Los comandos soportados (los oficiales y algunos no oficiales) están documentados en el doc/protocol.txt.

Lamentablemente, la descripción de la sintaxis no es realmente clara y un simple comando de ayuda que liste los comandos existentes sería mucho mejor. Aquí hay un resumen de los comandos que puedes encontrar en el source (a partir del 19.08.2016):

Traffic Statistics

Puedes consultar las estadísticas de tráfico actuales usando el comando

stats

Obtendrás un listado que muestra el número de conexiones, bytes entrantes/salientes y mucho más.

Ejemplo de salida:

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

Estadísticas de Memoria

Puedes consultar las estadísticas de memoria actuales usando

stats slabs
# Memcached Commands

Memcached es un sistema de almacenamiento en caché de objetos en memoria que se utiliza para acelerar aplicaciones web al aligerar la carga de bases de datos. A continuación se presentan algunos comandos comunes de Memcached.

## Comandos Básicos

- **set**: Almacena un valor en la caché.
- **get**: Recupera un valor de la caché.
- **delete**: Elimina un valor de la caché.
- **flush_all**: Limpia todos los datos de la caché.

## Comandos Avanzados

- **incr**: Incrementa el valor de una clave.
- **decr**: Decrementa el valor de una clave.
- **cas**: Comando de comparación y cambio.

## Ejemplo de Uso

```bash
set mykey 0 900 9

Este comando almacena el valor 9 en la clave mykey con una duración de 900 segundos.

get mykey

Este comando recupera el valor almacenado en mykey.

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 no está seguro de si tiene suficiente memoria para su instancia de memcached, siempre esté atento a los contadores de "evictions" proporcionados por el comando "stats". Si tiene suficiente memoria para la instancia, el contador de "evictions" debería ser 0 o al menos no estar aumentando.

#### ¿Qué Claves Se Usan? <a href="#which-keys-are-used" id="which-keys-are-used"></a>

No hay una función incorporada para determinar directamente el conjunto actual de claves. Sin embargo, puede usar el

stats items

comando para determinar cuántas claves existen.

stats items STAT items:1:number 220 STAT items:1:age 83095 STAT items:2:number 7 STAT items:2:age 1405 [...] END

Esto al menos ayuda a ver si se utilizan claves. Para volcar los nombres de las claves desde un script PHP que ya realiza el acceso a memcache, puedes usar el código PHP de [100days.de](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html).

<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>

<div data-gb-custom-block data-tag="embed" data-url='https://websec.nl/'></div>

<div data-gb-custom-block data-tag="hint" data-style='success'>

Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

<details>

<summary>Apoya a HackTricks</summary>

* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.

</details>

</div>

Last updated