第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

阻止PHP中的目錄遍歷但允許路徑

阻止PHP中的目錄遍歷但允許路徑

青春有我 2019-07-20 10:10:04
阻止PHP中的目錄遍歷但允許路徑我有一條基本路徑/任何/foo/和$_GET['path']應(yīng)該是相對的。然而,我如何做到這一點(diǎn)(讀取目錄),而不允許目錄遍歷?例如。/\.\.|\.\./不會(huì)正確過濾。
查看完整描述

3 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

我在幾個(gè)片段中看到了這個(gè)解決方案,但是它有一個(gè)與realpath()..這個(gè)realpath()函數(shù)移除尾隨目錄分隔符,因此設(shè)想兩個(gè)連續(xù)目錄,如:

/foo/bar/baz/

/foo/bar/baz_baz/

realpath()將刪除最后一個(gè)目錄分隔符,如果$_GET['path']等于“./baz_baz”,因?yàn)樗愃朴?/p>

strpos("/foo/bar/baz_baz",?"/foo/bar/baz")

也許:

$basepath?=?'/foo/bar/baz/';$realBase?=?realpath($basepath);$userpath?=?$basepath?.?$_GET['path'];$realUserPath?=?realpath($userpath);if?($realUserPath?===?false?||?strcmp($realUserPath,?$realBase)?!==?0?||?strpos($realUserPath,?$realBase?.?DIRECTORY_SEPARATOR)?!==?0)?{
????//Directory?Traversal!}?else?{
????//Good?path!}


查看完整回答
反對 回復(fù) 2019-07-20
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

僅僅檢查./或類似的模式是不夠的。以“./”為例,哪個(gè)URI編碼為“%2e%2e%2f”。如果您的模式檢查發(fā)生在解碼之前,您將錯(cuò)過這一遍歷嘗試。黑客還可以做一些其他的技巧來繞過模式檢查器,特別是在使用編碼字符串時(shí)。

正如ircmaxwell所建議的那樣,我通過使用realpath()之類的方法將任何路徑字符串規(guī)范化到其絕對路徑,從而成功地阻止了這些事件。只有到那時(shí),我才開始通過將遍歷攻擊與我預(yù)定義的基本路徑相匹配來檢查遍歷攻擊。


查看完整回答
反對 回復(fù) 2019-07-20
  • 3 回答
  • 0 關(guān)注
  • 949 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號