測試環境:phpstudy2018+win10
漏洞出現原因:Apahce中httpd.conf配置錯誤導致
原理:當客戶端訪問到一個目錄時,Apache服務器將會默認尋找一個index list中的文件,若文 件不存在,則會列出當前目錄下所有文件或返回403狀態碼,而列出目錄下所有文件的行為稱為目錄遍歷。
復現過程:
1、修改httpd.conf
保證indexes這里是+號,在Indexes前,加 + 代表允許目錄瀏覽;加 – 代表禁止目錄瀏覽。
2、修改vhosts.conf
也保證indexes是+號,我的phpstudy2018默認在httpd.conf里就是+號,但是在vhosts.conf里是減號,所以兩個都改成+。
3、查看自己的index list中的文件是哪幾個,
4、訪問127.0.0.1
可以看到,現在我的默認文件存在,默認訪問我的l.php
5、把l.php更名或刪除(其它存在於index list的文件也得相應修改或刪除)
6、再次訪問127.0.0.1,可以看到目錄了
修復措施:把indexes前面的+改為-即可。