14 KiB
Memcache コマンド
htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ!
HackTricks をサポートする他の方法:
- HackTricks で企業を宣伝したい場合や HackTricks をPDFでダウンロードしたい場合は SUBSCRIPTION PLANS をチェック!
- 公式PEASS&HackTricksスワッグを入手
- The PEASS Familyを発見し、独占的な NFTs のコレクションを見つける
- 💬 Discordグループ に参加するか、telegramグループ に参加するか、Twitter 🐦 で @carlospolopm をフォローする
- ハッキングテクニックを共有するには、HackTricks と HackTricks Cloud のGitHubリポジトリにPRを提出してください。
コマンドチートシート
From https://lzone.de/cheat-sheet/memcached
サポートされているコマンド(公式および非公式)は、doc/protocol.txt ドキュメントに記載されています。
残念ながら、構文の説明はあまり明確ではなく、既存のコマンドをリストアップする単純なヘルプコマンドの方がはるかに良いでしょう。ここでは、source で見つけられるコマンドの概要を示します(2016年8月19日現在):
コマンド | 説明 | 例 |
---|---|---|
get | 値を読み取る | get mykey |
set | キーを無条件で設定する |
|
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 |
トラフィック統計
現在のトラフィック統計をクエリすることができます。
stats
以下は、接続数、バイトの入出力などを提供するリストです。
出力例:
STAT pid 1
STAT uptime 229
STAT time 1610351263
STAT version 1.4.13
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.000000
STAT rusage_system 0.000000
STAT curr_connections 5
STAT total_connections 6
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 0
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END
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
Memcache Commands
Stats Command
The stats
command is used to retrieve statistics from the Memcached server. This command provides information such as the total number of connections, cache hits, cache misses, and more.
Example:
$ echo "stats" | nc <target_ip> 11211
Set Command
The set
command is used to set a key-value pair in the Memcached server.
Example:
$ echo "set mykey 0 0 5\r\nhello\r\n" | nc <target_ip> 11211
Get Command
The get
command is used to retrieve the value associated with a key from the Memcached server.
Example:
$ echo "get mykey" | nc <target_ip> 11211
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
どのキーが使用されていますか?
もしメモリキャッシュインスタンスに十分なメモリがあるかどうか確信が持てない場合は、"stats"コマンドによって与えられる"evictions"カウンターに注意してください。インスタンスに十分なメモリがある場合、"evictions"カウンターは0であるか、少なくとも増加していないはずです。
stats items
Command to determine how many keys do exist
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
これにより、使用されているキーを確認できます。既にmemcacheアクセスを行っているPHPスクリプトからキー名をダンプするには、100days.deのPHPコードを使用できます。