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

154 lines
13 KiB
Markdown
Raw Normal View History

# Memcache Befehle
2023-02-16 13:29:30 +00:00
<details>
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2023-02-16 13:29:30 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-02-03 01:15:34 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
2024-02-10 15:36:32 +00:00
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.
2023-02-16 13:29:30 +00:00
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2024-02-10 15:36:32 +00:00
## Befehls-Spickzettel
2023-02-16 13:29:30 +00:00
2024-02-10 15:36:32 +00:00
**Von** [**https://lzone.de/cheat-sheet/memcached**](https://lzone.de/cheat-sheet/memcached)
2023-02-16 13:29:30 +00:00
Die unterstützten Befehle (die offiziellen und einige inoffizielle) sind im Dokument [doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt) dokumentiert.
2023-02-16 13:29:30 +00:00
2024-02-10 15:36:32 +00:00
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](https://github.com/memcached/memcached) finden können (Stand 19.08.2016):
2023-02-16 13:29:30 +00:00
| Befehl | Beschreibung | Beispiel |
2023-03-05 22:20:47 +00:00
| --------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| get | Liest einen Wert | `get mykey` |
| set | Setzt einen Schlüssel bedingungslos | <p><code>set mykey &#x3C;flags> &#x3C;ttl> &#x3C;size></code><br><br>&#x3C;p>Stellen Sie sicher, dass Sie \r\n als Zeilenumbrüche verwenden, wenn Sie Unix CLI-Tools verwenden. Zum Beispiel&#x3C;/p> <code>printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211</code></p> |
| add | Fügt einen neuen Schlüssel hinzu | `add newkey 0 60 5` |
2024-02-10 15:36:32 +00:00
| replace | Überschreibt einen vorhandenen Schlüssel | `replace key 0 60 5` |
| append | Hängt Daten an einen vorhandenen Schlüssel an | `append key 0 60 15` |
| prepend | Fügt Daten an einen vorhandenen Schlüssel vor | `prepend key 0 60 15` |
| incr | Erhöht den numerischen Schlüsselwert um die angegebene Zahl | `incr mykey 2` |
| decr | Verringert den numerischen Schlüsselwert um die 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 | Druckt allgemeine Statistiken | `stats` |
| | Druckt Speicherstatistiken | `stats slabs` |
| | Druckt Statistiken zur höheren Zuordnungsebene | `stats malloc` |
| | Druckt Informationen zu Elementen | `stats items` |
2023-03-05 22:20:47 +00:00
| | | `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 Serverversion aus | `version` |
| verbosity | Erhöht das Protokollniveau | `verbosity` |
| quit | Beendet die Sitzung | `quit` |
2023-02-16 13:29:30 +00:00
2024-02-10 15:36:32 +00:00
#### Verkehrsstatistiken <a href="#traffic-statistics" id="traffic-statistics"></a>
2023-02-16 13:29:30 +00:00
Sie können die aktuellen Verkehrsstatistiken abfragen, indem Sie den Befehl verwenden.
2023-02-16 13:29:30 +00:00
```
stats
```
Sie erhalten eine Liste, die die Anzahl der Verbindungen, Bytes rein/raus und vieles mehr anzeigt.
2023-02-16 13:29:30 +00:00
Beispiel Ausgabe:
2023-02-16 13:29:30 +00:00
```
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 <a href="#memory-statistics" id="memory-statistics"></a>
2024-02-10 15:36:32 +00:00
Sie können die aktuellen Speicherstatistiken abfragen, indem Sie
2024-02-10 15:36:32 +00:00
```
stats slabs
```
Beispiel Output:
2023-02-16 13:29:30 +00:00
```
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
```
2024-02-10 15:36:32 +00:00
#### Welche Schlüssel werden verwendet? <a href="#which-keys-are-used" id="which-keys-are-used"></a>
2023-02-16 13:29:30 +00:00
Es gibt keine integrierte Funktion, um direkt den aktuellen Satz von Schlüsseln zu bestimmen. Sie können jedoch die
2024-02-10 15:36:32 +00:00
```
stats items
```
### Befehl, um festzustellen, wie viele Schlüssel vorhanden sind.
2023-02-16 13:29:30 +00:00
Um die Anzahl der Schlüssel in einem Memcache-Server zu bestimmen, verwenden Sie den Befehl `stats items`.
2023-02-16 13:29:30 +00:00
```
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 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](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html) verwenden.
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2023-02-16 13:29:30 +00:00
<details>
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2023-02-16 13:29:30 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-02-03 01:15:34 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
2024-02-10 15:36:32 +00:00
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.
2023-02-16 13:29:30 +00:00
</details>