Memcache Commands

Reading time: 5 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Commands Cheat-Sheet

Από https://lzone.de/cheat-sheet/memcached

Οι υποστηριζόμενες εντολές (οι επίσημες και μερικές ανεπίσημες) είναι τεκμηριωμένες στο έγγραφο doc/protocol.txt.

Δυστυχώς, η περιγραφή σύνταξης δεν είναι πραγματικά σαφής και μια απλή εντολή βοήθειας που να απαριθμεί τις υπάρχουσες εντολές θα ήταν πολύ καλύτερη. Ακολουθεί μια επισκόπηση των εντολών που μπορείτε να βρείτε στην πηγή (από 19.08.2016):

| Command | Description | Example | | -------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | | get | Διαβάζει μια τιμή | get mykey | | set | Ορίζει ένα κλειδί χωρίς προϋποθέσεις |

set mykey

Βεβαιωθείτε ότι χρησιμοποιείτε \r\n ως διαλείμματα γραμμών όταν χρησιμοποιείτε εργαλεία CLI Unix. Για παράδειγμα

printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211

| | 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 | Εξάγει (τα περισσότερα από) τα μεταδεδομένα για (όλα τα) στοιχεία στην κρυφή μνήμη | lru_crawler metadump all | | version | Εκτυπώνει την έκδοση του διακομιστή. | version | | verbosity | Αυξάνει το επίπεδο καταγραφής | verbosity | | quit | Τερματίζει τη συνεδρία | quit |

Traffic Statistics

Μπορείτε να ερωτήσετε τα τρέχοντα στατιστικά κίνησης χρησιμοποιώντας την εντολή

stats

Θα λάβετε μια λίστα που παρέχει τον αριθμό των συνδέσεων, τα bytes εισόδου/εξόδου και πολλά άλλα.

Παράδειγμα εξόδου:

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

Στατιστικά Μνήμης

Μπορείτε να ερωτήσετε τα τρέχοντα στατιστικά μνήμης χρησιμοποιώντας

stats slabs

Understood! Please provide the text you would like me to translate.

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 σας, πάντα ελέγξτε τους μετρητές “evictions” που παρέχονται από την εντολή “stats”. Αν έχετε αρκετή μνήμη για την περίπτωση, ο μετρητής “evictions” θα πρέπει να είναι 0 ή τουλάχιστον να μην αυξάνεται.

Ποιοι Κωδικοί Χρησιμοποιούνται;

Δεν υπάρχει ενσωματωμένη λειτουργία για να προσδιορίσετε άμεσα το τρέχον σύνολο κωδικών. Ωστόσο, μπορείτε να χρησιμοποιήσετε το

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 script που ήδη έχει πρόσβαση στο memcache, μπορείτε να χρησιμοποιήσετε τον PHP κώδικα από 100days.de.

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks