15 KiB
Memcache Komutları
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz olan The PEASS Ailesi'ni keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.
Komutlar Hile Kağıdı
Kaynak https://lzone.de/cheat-sheet/memcached
Desteklenen komutlar (resmi olanlar ve bazı resmi olmayanlar), doc/protocol.txt belgesinde belgelenmiştir.
Ne yazık ki, sözdizimi açıklaması gerçekten net değil ve mevcut komutları listeleyen basit bir yardım komutu çok daha iyi olurdu. İşte kaynakta bulabileceğiniz komutların bir genel bakışı (19.08.2016 tarihine kadar):
Komut | Açıklama | Örnek |
---|---|---|
get | Bir değeri okur | get mykey |
set | Bir anahtarın değerini koşulsuz olarak ayarlar |
|
add | Yeni bir anahtar ekler | add newkey 0 60 5 |
replace | Mevcut bir anahtarın üzerine yazar | replace key 0 60 5 |
append | Mevcut bir anahtara veri ekler | append key 0 60 15 |
prepend | Mevcut bir anahtara veri başına ekler | prepend key 0 60 15 |
incr | Sayısal anahtar değerini belirtilen sayıyla artırır | incr mykey 2 |
decr | Sayısal anahtar değerini belirtilen sayıyla azaltır | decr mykey 5 |
delete | Mevcut bir anahtarı siler | delete mykey |
flush_all | Tüm öğeleri hemen geçersiz kılar | flush_all |
flush_all | Tüm öğeleri n saniye içinde geçersiz kılar | flush_all 900 |
stats | Genel istatistikleri yazdırır | stats |
Bellek istatistiklerini yazdırır | stats slabs |
|
Daha yüksek seviye tahsis istatistiklerini yazdırır | stats malloc |
|
Öğeler hakkında bilgi yazdırır | stats items |
|
stats detail |
||
stats sizes |
||
İstatistik sayaçlarını sıfırlar | stats reset |
|
lru_crawler metadump | Önbellekteki (tüm) öğelerin (çoğu) meta verilerini döker | lru_crawler metadump all |
version | Sunucu sürümünü yazdırır | version |
verbosity | Günlük seviyesini artırır | verbosity |
quit | Oturumu sonlandırır | quit |
Trafik İstatistikleri
Mevcut trafik istatistiklerini sorgulayabilirsiniz.
stats
Aşağıdaki örnek çıktıda, bağlantı sayısı, gelen/giden bayt miktarı ve daha fazlası yer almaktadır.
Örnek Çıktı:
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
Bellek İstatistikleri
Mevcut bellek istatistiklerini sorgulayabilirsiniz.
stats slabs
Memcache Commands
Memcache is an in-memory key-value store that is commonly used for caching data in web applications. It is a popular choice for improving performance and reducing database load.
Basic Commands
SET
Description: Sets a key-value pair in the cache.
Syntax: set <key> <flags> <exptime> <bytes> [noreply]
Example: set mykey 0 3600 5\r\nhello\r\n
GET
Description: Retrieves the value associated with a key from the cache.
Syntax: get <key>
Example: get mykey
DELETE
Description: Deletes a key-value pair from the cache.
Syntax: delete <key> [noreply]
Example: delete mykey
Advanced Commands
INCR
Description: Increments the value of a key by a specified amount.
Syntax: incr <key> <value>
Example: incr mykey 10
DECR
Description: Decrements the value of a key by a specified amount.
Syntax: decr <key> <value>
Example: decr mykey 5
APPEND
Description: Appends data to the value of a key.
Syntax: append <key> <bytes> [noreply]
Example: append mykey 5\r\nworld\r\n
PREPEND
Description: Prepends data to the value of a key.
Syntax: prepend <key> <bytes> [noreply]
Example: prepend mykey 5\r\nhello\r\n
CAS
Description: Compares and swaps the value of a key.
Syntax: cas <key> <flags> <exptime> <bytes> <cas_unique> [noreply]
Example: cas mykey 0 3600 5 12345\r\nhello\r\n
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 the performance of 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
Eğer memcached örneğiniz için yeterli belleğe sahip olup olmadığınızdan emin değilseniz, "stats" komutu tarafından verilen "evictions" sayacına dikkat edin. Eğer örnek için yeterli belleğiniz varsa, "evictions" sayacı 0 veya en azından artmıyor olmalıdır.
Hangi Anahtarlar Kullanılıyor?
Mevcut anahtar kümesini doğrudan belirlemek için yerleşik bir işlev yoktur. Bununla birlikte, aşağıdaki komutları kullanarak anahtarları belirleyebilirsiniz:
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.
$ echo "stats items" | nc <memcache_server_ip> <memcache_server_port>
Replace <memcache_server_ip>
with the IP address of the Memcache server and <memcache_server_port>
with the corresponding port number.
The output will include a line starting with STAT items:
, followed by the total number of items/keys stored in the Memcache server.
stats items
STAT items:1:number 220
STAT items:1:age 83095
STAT items:2:number 7
STAT items:2:age 1405
[...]
END
Bu en azından hangi anahtarların kullanıldığını görmeye yardımcı olur. Memcache erişimini zaten yapan bir PHP betiğinden anahtar adlarını dökmek için 100days.de adresindeki PHP kodunu kullanabilirsiniz.
AWS hacklemeyi sıfırdan kahraman olmak için öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'i keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.