hacktricks/network-services-pentesting/11211-memcache/memcache-commands.md

13 KiB

Comandi Memcache

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

{% embed url="https://websec.nl/" %}

Foglio di trucchi dei comandi

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

I comandi supportati (quelli ufficiali e alcuni non ufficiali) sono documentati nel documento doc/protocol.txt.

Purtroppo la descrizione della sintassi non è molto chiara e un semplice comando di aiuto che elenchi i comandi esistenti sarebbe molto meglio. Ecco una panoramica dei comandi che puoi trovare nella fonte (aggiornato al 19.08.2016):

Comando Descrizione Esempio
get Legge un valore get mykey
set Imposta una chiave incondizionatamente

set mykey <flags> <ttl> <size>

<p>Assicurati di usare \r\n come interruzioni di riga quando si utilizzano strumenti CLI Unix. Ad esempio</p> printf "set mykey 0 60 4\r\ndata\r\n"

add Aggiunge una nuova chiave add newkey 0 60 5
replace Sovrascrive la chiave esistente replace key 0 60 5
append Aggiunge dati alla chiave esistente append key 0 60 15
prepend Aggiunge dati all'inizio della chiave esistente prepend key 0 60 15
incr Incrementa il valore numerico della chiave di un numero dato incr mykey 2
decr Decrementa il valore numerico della chiave di un numero dato decr mykey 5
delete Elimina una chiave esistente delete mykey
flush_all Invalida immediatamente tutti gli elementi flush_all
flush_all Invalida tutti gli elementi in n secondi flush_all 900
stats Stampa le statistiche generali stats
Stampa le statistiche di memoria stats slabs
Stampa le statistiche di allocazione a livello più alto stats malloc
Stampa le informazioni sugli elementi stats items
stats detail
stats sizes
Reimposta i contatori delle statistiche stats reset
lru_crawler metadump Elenca (la maggior parte) i metadati per (tutti) gli elementi nella cache lru_crawler metadump all
version Stampa la versione del server version
verbosity Aumenta il livello di log verbosity
quit Termina la sessione quit

Statistiche sul Traffico

Puoi interrogare le statistiche attuali sul traffico utilizzando il comando

stats

Riceverai un elenco che fornisce il numero di connessioni, byte in uscita e altro ancora.

Esempio di output:

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

Statistiche della memoria

Puoi interrogare le attuali statistiche della memoria utilizzando

stats slabs

Esempio di output:

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 non sei sicuro di avere abbastanza memoria per la tua istanza memcached, controlla sempre i contatori "evictions" forniti dal comando "stats". Se hai abbastanza memoria per l'istanza, il contatore "evictions" dovrebbe essere 0 o almeno non aumentare.

Quali Chiavi Vengono Utilizzate?

Non esiste una funzione integrata per determinare direttamente l'attuale insieme di chiavi. Tuttavia, puoi utilizzare

stats items

Comando per determinare quanti chiavi esistono:

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

Questo almeno aiuta a vedere se vengono utilizzate delle chiavi. Per scaricare i nomi delle chiavi da uno script PHP che già accede a memcache, è possibile utilizzare il codice PHP da 100days.de.

{% embed url="https://websec.nl/" %}

Impara l'hacking AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: