日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Nginx >内容正文

Nginx

《Nginx文件类型错误解析漏洞--攻击演练》 (转)

發(fā)布時(shí)間:2024/4/14 Nginx 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Nginx文件类型错误解析漏洞--攻击演练》 (转) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天看書看到其中提到的一個(gè)漏洞,那就是Nginx+PHP的服務(wù)器中,如果PHP的配置里 cgi.fix_pathinfo=1 那么就會(huì)產(chǎn)生一個(gè)漏洞。這個(gè)配置默認(rèn)是1的,設(shè)為0會(huì)導(dǎo)致很多MVC框架(如Thinkphp)都無(wú)法運(yùn)行。這個(gè)漏洞就是比如 localhost/img/1.jpg 是正常地訪問(wèn)一張圖片,而 localhost/img/1.jpg/1.php 卻會(huì)把這張圖片作為PHP文件來(lái)執(zhí)行!如下圖,應(yīng)該是404 NotFound 才對(duì)的,它卻顯示說(shuō)是有語(yǔ)法錯(cuò)誤。

好家伙,既然有漏洞那就嘗試怎么攻擊吧。先看思路:首先弄一個(gè)很小的JPG文件方便修改,然后在JPG文件中插入代碼,再上傳,最后在瀏覽器打開(kāi)。

第一步,小的JPG文件當(dāng)然是直接用Photoshop做一個(gè)了;

幾個(gè)像素就夠了。樣子隨便,你喜歡就好。

第二步,在JPG中插入代碼,這個(gè)要用到二進(jìn)制編輯器;

JPG圖片如何修改成為可以執(zhí)行PHP代碼?這里以實(shí)驗(yàn)?zāi)康?#xff0c;以成功執(zhí)行一個(gè)輸出PHP運(yùn)行環(huán)境信息的函數(shù) phpinfo() 為例。

首先這里編輯圖片的話并不是說(shuō)用畫圖或者Phtoshop之類的圖形軟件,這次要用到的軟件叫做 二進(jìn)制編輯器,其中我用的這款名叫 Bz.exe,打開(kāi)圖片文件如下圖

不要被嚇到,就是16進(jìn)制的數(shù)而已,右邊顯示的是對(duì)應(yīng)的ASCII碼,我們直接改右邊就可以了。通過(guò)幾個(gè)JPG文件的對(duì)比發(fā)現(xiàn),從第二行開(kāi)始就可以自行修改了,于是開(kāi)工修改,注意不要使用退格刪除導(dǎo)致長(zhǎng)度縮短,要用字符替換的,否則會(huì)造成文件格式損壞。修改成如下圖,保存到本地的圖片文件夾中,在本地測(cè)試。

!注意不要使用退格刪除導(dǎo)致長(zhǎng)度縮短,圖片損壞,比如像下圖第一個(gè)的那種改了之后不顯示縮略圖的就已經(jīng)是損壞了,損壞的圖片可能會(huì)在上傳的時(shí)候被攔截掉。

改好之后再本地測(cè)試,

似乎還不行,看起來(lái)應(yīng)該是后面有一些PHP語(yǔ)法錯(cuò)誤,那就簡(jiǎn)單粗暴,修改成下圖這樣,即是把后面的內(nèi)容全部使用/* 來(lái)注釋掉 結(jié)尾用 */ 閉合注釋,當(dāng)然結(jié)尾的注釋不加也可以,只會(huì)多顯示一個(gè)“Unterminated comment starting”的警告而已。建議不需要改成*/結(jié)尾,否則修改后的圖片在Photoshop中會(huì)打不開(kāi)(因?yàn)镕F D9是jpg文件的標(biāo)準(zhǔn)結(jié)尾)。

可以看到,已經(jīng)可以執(zhí)行PHP代碼了。本地攻擊演練成功!

第三步,上傳,因?yàn)樯蟼鞯拇_實(shí)是jpg格式的文件,網(wǎng)站幾乎無(wú)法識(shí)別和攔截;

第四步,在瀏覽器打開(kāi),Hello World!

這一步成功需要兩個(gè)條件:

1)服務(wù)器是Nginx+PHP并且配置里是cgi.fix_pathinfo=1;

2)網(wǎng)站沒(méi)有屏蔽上傳目錄的腳本執(zhí)行權(quán)限;

所以,慢慢找吧,也許可遇而不可求;

?

|++ 此漏洞的功擊效果與“文件上傳漏洞”相當(dāng)

∞、防御建議

1)使用Apache、IIS等成熟久經(jīng)考驗(yàn)的服務(wù)器軟件,在動(dòng)態(tài)語(yǔ)言的支持上,Nginx還是太年經(jīng)了。

2)上傳目錄、靜態(tài)資源目錄,都設(shè)置好屏蔽腳本執(zhí)行權(quán)限。例如使用Apache服務(wù)器的在相應(yīng)目錄下放一個(gè) .htaccess 文件,里面寫上

RewriteEngine On RewriteRule (?i:\.php)$ - [F]

?

http://www.cnblogs.com/batsing/p/nginx_bug1_attack.html

轉(zhuǎn)載于:https://www.cnblogs.com/softidea/p/5350828.html

總結(jié)

以上是生活随笔為你收集整理的《Nginx文件类型错误解析漏洞--攻击演练》 (转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。