(1)緩存資料未經過濾直接輸出可導緻XSS;
(2)緩存資料未經過濾代入拼接的SQL注入查詢語句可導緻SQL注入;
(3)緩存資料存儲敏感資訊(如:使用者名、密碼),可以通過讀取操作直接洩漏;
(4)緩存資料未經過濾直接通過system()、eval()等函數處理可導緻指令執行;
(5)緩存資料未經過濾直接在header()函數中輸出,可導緻CRLF漏洞(HTTP響應拆分)。
… …
漏洞利用:
漏洞的利用根據所造成二次漏洞的不同,可在緩存變量中構造相應的payload。
針對memcached未授權通路漏洞緩存資料的抓取,可使用go-derper工具。
注:memcached伺服器基本操作及go-derper工具使用方法參見連結。
漏洞攻擊DEMO:
http://niiconsulting.com/checkmate/2013/05/memcache-exploit/
漏洞檢測:
1、登入機器執行netstat -an |more指令檢視端口監聽情況。回顯0.0.0.0:11211表示在所有網卡進行監聽,存在memcached未授權通路漏洞。
2、telnet11211,或nc -vv11211,提示連接配接成功表示漏洞存在。
TELNET:
------------------------------------------------------------
local% telnet x.x.x.x 11211
Trying x.x.x.x...
Connected to x.x.x.x.
Escape character is '^]'.
NC:
------------------------------------------------------------
local% nc -vv x.x.x.x 11211
found 0 associations
found 1 connections:
1: flags=82
outif en7
src x.x.x.x port 55001
dst x.x.x.x port 11211
rank info not available
TCP aux info available
Connection to x.x.x.x port 11211 [tcp/*] succeeded!
stats items
memcached agent v0.4
matrix 1 -> x.x.x.x:12000, pool size 1
matrix 2 -> x.x.x.x:12001, pool size 1
END
3、使用端口掃描工具nmap進行遠端掃描:nmap -sV -p 11211 –script memcached-info 。
11211/tcp open memcached
| memcached-info:
| Process ID 18568
| Uptime 6950 seconds
| Server time Sat Dec 31 14:16:10 2011
| Architecture 64 bit
| Used CPU (user) 0.172010
| Used CPU (system) 0.200012
| Current connections 10
| Total connections 78
| Maximum connections 1024
| TCP Port 11211
| UDP Port 11211
|_ Authentication no