国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

fastcgi文件讀取漏洞之python掃描腳本

2020-02-23 04:37:34
字體:
來源:轉載
供稿:網友

PHP FastCGI的遠程利用

說到FastCGI,大家都知道這是目前最常見的webserver動態腳本執行模型之一。目前基本所有web腳本都基本支持這種模式,甚至有的類型腳本這是唯一的模式(ROR,Python等)。

FastCGI的主要目的就是,將webserver和動態語言的執行分開為兩個不同的常駐進程,當webserver接收到動態腳本的請求,就通過fcgi協議將請求通過網絡轉發給fcgi進程,由fcgi進程進行處理之后,再將結果傳送給webserver,然后webserver再輸出給瀏覽器。這種模型由于不用每次請求都重新啟動一次cgi,也不用嵌入腳本解析器到webserver中去,因此可伸縮性很強,一旦動態腳本請求量增加,就可以將后端fcgi進程單獨設立一個集群提供服務,很大的增加了可維護性,這也是為什么fcgi等類似模式如此流行的原因之一。

然而正是因為這種模式,卻也帶來了一些問題。例如去年80sec發布的《nginx文件解析漏洞》 實際上就是由于fcgi和webserver對script路徑級參數的理解不同出現的問題。除此之外,由于fcgi和webserver是通過網絡進行溝通的,因此目前越來越多的集群將fcgi直接綁定在公網上,所有人都可以對其進行訪問。這樣就意味著,任何人都可以偽裝成webserver,讓fcgi執行我們想執行的腳本內容。

ok,以上就是背景原理解釋,我這里就用我最熟悉的PHP給各位做個例子。

php的fastcgi目前通常叫做FPM。他默認監聽的端口是9000端口。我們這里用nmap直接掃描一下:

nmap -sV -p 9000 --open x.x.x.x/24

為什么要用sV?因為9000端口可能還存在其他服務,這里需要借用nmap的指紋識別先幫我們鑒定一下。

[root@test:~/work/fcgi]#nmap -sV -p 9000 --open 173.xxx.xxx.1/24

Starting Nmap 6.01 ( http://nmap.org ) at 2012-09-14 20:06 EDT
Nmap scan report for abc.net (173.xxx.xxx.111)
Host is up (0.0095s latency).
PORT     STATE SERVICE VERSION
9000/tcp open  ssh     OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel

Nmap scan report for abc.com (173.xxx.xxx.183)
Host is up (0.0096s latency).
PORT     STATE SERVICE    VERSION
9000/tcp open  tcpwrapped

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 256 IP addresses (198 hosts up) scanned in 7.70 seconds

隨便掃描了一下,運氣不錯,一個C段有2個開放9000端口的,不過其中一個是被管理員修改的sshd,另一個tcpwrapped,才是我們的目標。

為了做測試,我寫了一個fastcgi的客戶端程序,直接向對方發起請求。我們利用一個開放的fastcgi能有什么作用?這里和普通的http請求有一點不同,因為webserver為了提供fastcgi一些參數,每次轉發請求的時候,會通過FASTCGI_PARAMS的包向fcgi進程進行傳遞。本來這些參數是用戶不可控的,但是既然這個fcgi對外開放,那么也就說明我們可以通過設定這些參數,來讓我們去做一些原本做不到的事情:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林左旗| 河池市| 商都县| 巫溪县| 泸西县| 河源市| 德兴市| 财经| 甘南县| 岳池县| 盐边县| 大洼县| 博客| 海阳市| 龙游县| 青阳县| 鄢陵县| 兴和县| 吉首市| 略阳县| 万安县| 紫云| 潜山县| 横山县| 海丰县| 申扎县| 武陟县| 澎湖县| 景德镇市| 南昌市| 游戏| 托克逊县| 绥德县| 浮梁县| 灌南县| 东兰县| 桐乡市| 衡水市| 兰西县| 临清市| 温宿县|