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

173 lines
16 KiB
Markdown
Raw Normal View History

# Εντολές Memcache
2023-02-16 13:29:30 +00:00
<details>
<summary><strong>Μάθετε το χάκινγκ AWS από το μηδέν μέχρι τον ήρωα με το</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
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-02-03 01:15:34 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
2024-02-10 22:40:18 +00:00
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
2023-02-16 13:29:30 +00:00
</details>
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Φύλλο Απατηλών Εντολών
2023-02-16 13:29:30 +00:00
2024-02-10 22:40:18 +00:00
**Από** [**https://lzone.de/cheat-sheet/memcached**](https://lzone.de/cheat-sheet/memcached)
2023-02-16 13:29:30 +00:00
Οι υποστηριζόμενες εντολές (οι επίσημες και μερικές ανεπίσημες) καταγράφονται στο έγγραφο [doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt).
Δυστυχώς η περιγραφή της σύνταξης δεν είναι πραγματικά σαφής και μια απλή εντολή βοήθειας που να καταγράφει τις υπάρχουσες εντολές θα ήταν πολύ καλύτερη. Εδώ υπάρχει μια επισκόπηση των εντολών που μπορείτε να βρείτε στην [πηγή](https://github.com/memcached/memcached) (έως 19.08.2016):
| Εντολή | Περιγραφή | Παράδειγμα |
| --------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| get | Διαβάζει μια τιμή | `get mykey` |
| set | Ορίζει ένα κλειδί ανεξάρτητα | <p><code>set mykey &#x3C;flags> &#x3C;ttl> &#x3C;size></code><br><br>&#x3C;p>Βεβαιωθείτε ότι χρησιμοποιείτε \r\n ως αλλαγές γραμμής όταν χρησιμοποιείτε εργαλεία Unix CLI. Για παράδειγμα&#x3C;/p> <code>printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211</code></p> |
| add | Προσθέτει ένα νέο κλειδί | `add newkey 0 60 5` |
| replace | Αντικαθιστά υπάρχον κλειδί | `replace key 0 60 5` |
| append | Προσθέτει δεδομένα σε υπάρχον κλειδί | `append key 0 60 15` |
| prepend | Προσθέτει δεδομένα στην αρχή υπάρχον κλειδί | `prepend key 0 60 15` |
| incr | Αυξάνει την αριθμητική τιμή του κλειδιού κατά τον δοθέν αριθμό | `incr mykey 2` |
| decr | Μειώνει την αριθμητική τιμή του κλειδιού κατά τον δοθέν αριθμό | `decr mykey 5` |
| delete | Διαγράφει ένα υπάρχον κλειδί | `delete mykey` |
| flush\_all | Άκυροποιεί όλα τα στοιχεία αμέσως | `flush_all` |
| flush\_all | Άκυροποιεί όλα τα στοιχεία σε n δευτερόλεπτα | `flush_all 900` |
| stats | Εκτυπώνει γενικά στατιστικά | `stats` |
| | Εκτυπώνει στατιστικά μνήμης | `stats slabs` |
| | Εκτυπώνει στατιστικά υψηλότερου επιπέδου εκχώρησης | `stats malloc` |
| | Εκτυπώνει πληροφορίες σχετικά με τα στοιχεία | `stats items` |
| | | `stats detail` |
| | | `stats sizes` |
| | Επαναφέρει τους μετρητές στατιστικών | `stats reset` |
| lru\_crawler metadump | Αδειάζει (το μεγαλύτερο μέρος) των μεταδεδομένων για (όλα τα) τα στοιχεία στην μνήμη cache | `lru_crawler metadump all` |
| version | Εκτυπώνει την έκδοση του διακομιστή | `version` |
| verbosity | Αυξάνει το επίπεδο καταγραφής | `verbosity` |
| quit | Τερματίζει τη συνεδρία | `quit` |
#### Στατιστικά Κίνησης <a href="#traffic-statistics" id="traffic-statistics"></a>
2023-02-16 13:29:30 +00:00
2024-02-10 22:40:18 +00:00
Μπορείτε να ερωτήσετε τα τρέχοντα στατιστικά κίνησης χρησιμοποιώντας την εντολή
2023-02-16 13:29:30 +00:00
```
stats
```
Θα λάβετε μια λίστα που εξυπηρετεί τον αριθμό των συνδέσεων, bytes εισόδου/εξόδου και πολλά άλλα.
2024-04-06 18:31:47 +00:00
Παράδειγμα Εξόδου:
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
```
#### Στατιστικά μνήμης <a href="#memory-statistics" id="memory-statistics"></a>
2024-04-06 18:31:47 +00:00
Μπορείτε να εξετάσετε τα τρέχοντα στατιστικά μνήμης χρησιμοποιώντας
2023-02-16 13:29:30 +00:00
```
stats slabs
```
```markdown
## Memcache Commands
2024-02-10 22:40:18 +00:00
### get
2024-02-10 22:40:18 +00:00
The `get` command is used to retrieve the value stored under a specific key.
2024-02-10 22:40:18 +00:00
Syntax:
```
get <key>
```
2024-02-10 22:40:18 +00:00
Example:
```
get mykey
```
```
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
```
Εάν δεν είστε βέβαιοι εάν έχετε αρκετή μνήμη για την περίπτωση του memcached σας, παρακολουθήστε πάντα τους μετρητές "εκδιώξεων" που δίνονται από την εντολή "stats". Εάν έχετε αρκετή μνήμη για την περίπτωση, ο μετρητής "εκδιώξεων" θα πρέπει να είναι 0 ή τουλάχιστον να μην αυξάνεται.
2024-04-06 18:31:47 +00:00
#### Ποια Κλειδιά Χρησιμοποιούνται; <a href="#which-keys-are-used" id="which-keys-are-used"></a>
2024-04-06 18:31:47 +00:00
Δεν υπάρχει ενσωματωμένη λειτουργία για να καθορίσετε απευθείας το τρέχον σύνολο κλειδιών. Ωστόσο, μπορείτε να χρησιμοποιήσετε το
2024-02-10 22:40:18 +00:00
```
stats items
```
**Command to determine how many keys do exist:**
2023-02-16 13:29:30 +00:00
2024-02-10 22:40:18 +00:00
```bash
2023-02-16 13:29:30 +00:00
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
```
Αυτό τουλάχιστον βοηθάει να δούμε αν χρησιμοποιούνται κλειδιά. Για να ανακτήσετε τα ονόματα των κλειδιών από ένα σενάριο PHP που ήδη κάνει πρόσβαση στο memcache, μπορείτε να χρησιμοποιήσετε τον κώδικα PHP από το [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>
2024-04-06 18:31:47 +00:00
{% embed url="https://websec.nl/" %}
2023-02-16 13:29:30 +00:00
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</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
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-02-03 01:15:34 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
2024-02-10 22:40:18 +00:00
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
2023-02-16 13:29:30 +00:00
</details>