hacktricks/network-services-pentesting/11211-memcache/memcache-commands.md
2024-02-10 15:36:32 +00:00

15 KiB

Memcache-Befehle

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Befehls-Spickzettel

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

Die unterstützten Befehle (offizielle und inoffizielle) sind im Dokument doc/protocol.txt dokumentiert.

Leider ist die Syntaxbeschreibung nicht wirklich klar, und ein einfacher Hilfsbefehl, der die vorhandenen Befehle auflistet, wäre viel besser. Hier ist eine Übersicht über die Befehle, die Sie in der Quelle finden können (Stand 19.08.2016):

Befehl Beschreibung Beispiel
get Liest einen Wert get mykey
set Setzt einen Schlüssel bedingungslos

set mykey <flags> <ttl> <size>

<p>Stellen Sie sicher, dass Sie \r\n als Zeilenumbrüche verwenden, wenn Sie Unix CLI-Tools verwenden. Zum Beispiel</p> printf "set mykey 0 60 4\r\ndata\r\n"

add Fügt einen neuen Schlüssel hinzu add newkey 0 60 5
replace Überschreibt einen vorhandenen Schlüssel replace key 0 60 5
append Fügt Daten an einen vorhandenen Schlüssel an append key 0 60 15
prepend Fügt Daten am Anfang eines vorhandenen Schlüssels ein prepend key 0 60 15
incr Erhöht den numerischen Schlüsselwert um eine angegebene Zahl incr mykey 2
decr Verringert den numerischen Schlüsselwert um eine angegebene Zahl decr mykey 5
delete Löscht einen vorhandenen Schlüssel delete mykey
flush_all Invalidiert sofort alle Elemente flush_all
flush_all Invalidiert alle Elemente in n Sekunden flush_all 900
stats Gibt allgemeine Statistiken aus stats
Gibt Speicherstatistiken aus stats slabs
Gibt Statistiken zur höheren Ebenenallokation aus stats malloc
Gibt Informationen zu Elementen aus stats items
stats detail
stats sizes
Setzt Statistikzähler zurück stats reset
lru_crawler metadump Gibt (die meisten) Metadaten für (alle) Elemente im Cache aus lru_crawler metadump all
version Gibt die Serverversion aus version
verbosity Erhöht das Protokolllevel verbosity
quit Beendet die Sitzung quit

Verkehrsstatistiken

Sie können die aktuellen Verkehrsstatistiken mit dem Befehl abfragen

stats

Sie erhalten eine Auflistung, die die Anzahl der Verbindungen, Bytes in/out und vieles mehr anzeigt.

Beispiel-Ausgabe:

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

Speicherstatistiken

Sie können die aktuellen Speicherstatistiken abfragen, indem Sie folgenden Befehl verwenden:

stats slabs

Memcache Commands

Memcache is a widely used distributed memory caching system. It is often used to speed up dynamic web applications by caching data and reducing the load on the database.

Basic Commands

SET

Command: set <key> <flags> <exptime> <bytes> [noreply]

Description: Sets the value of a key in the cache.

Parameters:

  • <key>: The key to set.
  • <flags>: Optional flags for the value.
  • <exptime>: Optional expiration time in seconds.
  • <bytes>: The number of bytes in the value.
  • [noreply]: Optional parameter to not wait for a response.

Example:

set mykey 0 3600 5
hello

GET

Command: get <key>

Description: Retrieves the value of a key from the cache.

Parameters:

  • <key>: The key to retrieve.

Example:

get mykey

DELETE

Command: delete <key>

Description: Deletes a key from the cache.

Parameters:

  • <key>: The key to delete.

Example:

delete mykey

Advanced Commands

STATS

Command: stats

Description: Retrieves statistics about the memcache server.

Example:

stats

FLUSH_ALL

Command: flush_all

Description: Flushes all keys from the cache.

Example:

flush_all

VERSION

Command: version

Description: Retrieves the version of the memcache server.

Example:

version

Conclusion

These are some of the basic and advanced commands that can be used with memcache. Understanding and utilizing these commands can greatly enhance your ability to work with memcache and optimize your web applications.

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

Wenn Sie sich nicht sicher sind, ob Sie genügend Speicherplatz für Ihre Memcached-Instanz haben, achten Sie immer auf die "Evictions"-Zähler, die vom "stats"-Befehl angegeben werden. Wenn Sie genügend Speicherplatz für die Instanz haben, sollte der "Evictions"-Zähler 0 sein oder zumindest nicht ansteigen.

Welche Schlüssel werden verwendet?

Es gibt keine integrierte Funktion, um den aktuellen Satz von Schlüsseln direkt zu bestimmen. Sie können jedoch den

stats items

Command to Determine How Many Keys Exist

To determine the number of keys that exist in a Memcache server, you can use the stats command. This command provides statistics about the server, including the total number of keys stored.

stats items

This command will return a list of items with their corresponding statistics. Look for the line that starts with STAT items:, which indicates the total number of items (keys) stored in the Memcache server.

For example:

STAT items:1:number 10

In this example, the Memcache server has a total of 10 keys stored.

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

Dies hilft zumindest, um zu sehen, ob Schlüssel verwendet werden. Um die Schlüsselnamen aus einem PHP-Skript abzurufen, das bereits auf den Memcache zugreift, können Sie den PHP-Code von 100days.de verwenden.

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: