偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

nginx文件類型錯(cuò)誤解析漏洞

安全 漏洞
nginx是一款高性能的web服務(wù)器,使用非常廣泛,其不僅經(jīng)常被用作反向代理,也可以非常好的支持PHP的運(yùn)行。80sec發(fā)現(xiàn)其中存在一個(gè)較為嚴(yán)重的安全問(wèn)題,默認(rèn)情況下可能導(dǎo)致服務(wù)器錯(cuò)誤的將任何類型的文件以PHP的方式進(jìn)行解析,這將導(dǎo)致嚴(yán)重的安全問(wèn)題,使得惡意的攻擊者可能攻陷支持php的nginx服務(wù)器。

漏洞介紹:nginx是一款高性能的web服務(wù)器,使用非常廣泛,其不僅經(jīng)常被用作反向代理,也可以非常好的支持PHP的運(yùn)行。80sec發(fā)現(xiàn)其中存在一個(gè)較為嚴(yán)重的安全問(wèn)題,默認(rèn)情況下可能導(dǎo)致服務(wù)器錯(cuò)誤的將任何類型的文件以PHP的方式進(jìn)行解析,這將導(dǎo)致嚴(yán)重的安全問(wèn)題,使得惡意的攻擊者可能攻陷支持php的nginx服務(wù)器。

漏洞分析:nginx默認(rèn)以cgi的方式支持php的運(yùn)行,譬如在配置文件當(dāng)中可以以

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

的方式支持對(duì)php的解析,location對(duì)請(qǐng)求進(jìn)行選擇的時(shí)候會(huì)使用URI環(huán)境變量進(jìn)行選擇,其中傳遞到后端Fastcgi的關(guān)鍵變量SCRIPT_FILENAME由nginx生成的$fastcgi_script_name決定,而通過(guò)分析可以看到$fastcgi_script_name是直接由URI環(huán)境變量控制的,這里就是產(chǎn)生問(wèn)題的點(diǎn)。而為了較好的支持PATH_INFO的提取,在PHP的配置選項(xiàng)里存在cgi.fix_pathinfo選項(xiàng),其目的是為了從SCRIPT_FILENAME里取出真正的腳本名。
那么假設(shè)存在一個(gè)http://www.80sec.com/80sec.jpg,我們以如下的方式去訪問(wèn)

POC: 訪問(wèn)一個(gè)nginx來(lái)支持php的站點(diǎn),在一個(gè)任何資源的文件如robots.txt后面加上/80sec.php,這個(gè)時(shí)候你可以看到如下的區(qū)別:

訪問(wèn)http://www.80sec.com/robots.txt

HTTP/1.1 200 OK
Server: nginx/0.6.32
Date: Thu, 20 May 2010 10:05:30 GMT
Content-Type: text/plain
Content-Length: 18
Last-Modified: Thu, 20 May 2010 06:26:34 GMT
Connection: keep-alive
Keep-Alive: timeout=20
Accept-Ranges: bytes

訪問(wèn)訪問(wèn)http://www.80sec.com/robots.txt/80sec.php

HTTP/1.1 200 OK
Server: nginx/0.6.32
Date: Thu, 20 May 2010 10:06:49 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
X-Powered-By: PHP/5.2.6

其中的Content-Type的變化說(shuō)明了后端負(fù)責(zé)解析的變化,該站點(diǎn)就可能存在漏洞。

漏洞廠商:http://www.nginx.org

解決方案:

我們已經(jīng)嘗試聯(lián)系官方,但是此前你可以通過(guò)以下的方式來(lái)減少損失

關(guān)閉cgi.fix_pathinfo為0

或者

if ( $fastcgi_script_name ~ \..*\/.*php ) {
return 403;
}

PS: 鳴謝laruence大牛在分析過(guò)程中給的幫助。

【編輯推薦】

  1. “拯救網(wǎng)站運(yùn)維經(jīng)理趙明”有獎(jiǎng)?wù)骷顒?dòng)
  2. nginx爆0day漏洞 上傳圖片可入侵100萬(wàn)服務(wù)器

 

責(zé)任編輯:王文文 來(lái)源: 80sec
相關(guān)推薦

2010-05-25 17:01:44

2010-03-01 15:34:38

Linux文件類型

2010-03-10 09:27:36

Linux鏈接文件類型

2010-01-05 15:32:33

2009-10-21 10:50:59

Linux文件類型

2013-05-30 14:21:38

2010-01-12 11:37:06

Linux常見(jiàn)文件

2020-10-29 15:26:03

Web安全文件解析漏洞網(wǎng)絡(luò)安全

2012-12-13 13:38:22

nginx目錄遍歷漏洞

2011-06-01 10:48:28

Android系統(tǒng)

2009-11-16 12:17:46

PHP上傳文件類型

2012-05-21 23:43:31

Java

2017-06-09 06:14:41

2010-04-02 13:15:01

Oracle跟蹤

2014-03-26 09:38:17

2009-08-12 16:44:13

.NET文件類型

2015-07-23 10:39:41

2013-05-06 11:04:07

2021-02-05 08:03:52

Java

2019-04-12 14:26:17

Linux命令文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)