14 KiB
Memcache Commands
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
{% embed url="https://websec.nl/" %}
Commands Cheat-Sheet
De https://lzone.de/cheat-sheet/memcached
Os comandos suportados (os oficiais e alguns não oficiais) estão documentados no documento doc/protocol.txt.
Infelizmente, a descrição da sintaxe não é realmente clara e um simples comando de ajuda listando os comandos existentes seria muito melhor. Aqui está uma visão geral dos comandos que você pode encontrar na source (a partir de 19.08.2016):
Command | Description | Example |
---|---|---|
get | Lê um valor | get mykey |
set | Define uma chave incondicionalmente |
|
add | Adiciona uma nova chave | add newkey 0 60 5 |
replace | Sobrescreve a chave existente | replace key 0 60 5 |
append | Anexa dados à chave existente | append key 0 60 15 |
prepend | Precede dados à chave existente | prepend key 0 60 15 |
incr | Incrementa o valor da chave numérica pelo número dado | incr mykey 2 |
decr | Decrementa o valor da chave numérica pelo número dado | decr mykey 5 |
delete | Deleta uma chave existente | delete mykey |
flush_all | Invalida todos os itens imediatamente | flush_all |
flush_all | Invalida todos os itens em n segundos | flush_all 900 |
stats | Imprime estatísticas gerais | stats |
Imprime estatísticas de memória | stats slabs |
|
Imprime estatísticas de alocação de nível superior | stats malloc |
|
Imprime informações sobre itens | stats items |
|
stats detail |
||
stats sizes |
||
Redefine contadores de estatísticas | stats reset |
|
lru_crawler metadump | Despeja (a maior parte) dos metadados para (todos) os itens no cache | lru_crawler metadump all |
version | Imprime a versão do servidor. | version |
verbosity | Aumenta o nível de log | verbosity |
quit | Termina a sessão | quit |
Traffic Statistics
Você pode consultar as estatísticas de tráfego atuais usando o comando
stats
Você receberá uma lista que serve o número de conexões, bytes de entrada/saída e muito mais.
Exemplo de Saída:
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
Estatísticas de Memória
Você pode consultar as estatísticas de memória atuais usando
stats slabs
# Memcache Commands
## Comandos Básicos
Os comandos básicos do Memcache incluem:
- `set`: Armazena um valor com uma chave específica.
- `get`: Recupera o valor associado a uma chave.
- `delete`: Remove um valor associado a uma chave.
- `flush_all`: Limpa todos os dados armazenados.
## Comandos Avançados
Os comandos avançados incluem:
- `incr`: Incrementa o valor de uma chave.
- `decr`: Decrementa o valor de uma chave.
- `cas`: Realiza uma operação de comparação e troca.
## Exemplo de Uso
Para armazenar um valor:
set mykey 0 900 4 test
Para recuperar o valor:
get 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
Se você não tiver certeza se tem memória suficiente para sua instância memcached, sempre fique atento aos contadores de “evictions” fornecidos pelo comando “stats”. Se você tiver memória suficiente para a instância, o contador de “evictions” deve ser 0 ou pelo menos não estar aumentando.
Quais Chaves São Usadas?
Não há uma função embutida para determinar diretamente o conjunto atual de chaves. No entanto, você pode usar o
stats items
comando para determinar quantas chaves existem.
stats items
STAT items:1:number 220
STAT items:1:age 83095
STAT items:2:number 7
STAT items:2:age 1405
[...]
END
Isso pelo menos ajuda a ver se alguma chave está sendo usada. Para despejar os nomes das chaves de um script PHP que já faz o acesso ao memcache, você pode usar o código PHP do 100days.de.
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.