国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP安全-文件名操縱

瀏覽:114日期:2022-09-12 08:07:18
文件名操縱

在很多情形下會使用動態包含,此時目錄名或文件名中的部分會保存在一個變量中。例如,你可以緩存你的部分動態頁來降低你的數據庫服務器的負擔。

<?php

include '/cache/{$_GET[’username’]}.html';

?>

為了讓這個漏洞更明顯,示例中使用了$_GET。如果你使用了受污染數據時,這個漏洞同樣存在。使用$_GET[’username’]是一個極端的例子,通過它可以把問題看得更清楚。

雖然上面的流程有其優點,但它同時為攻擊者提供了一個可以自由選擇緩存頁的良機。例如,一個用戶可以方便地通過編輯URL中的username的值來察看其他用戶的緩存文件。事實上,攻擊者可以通過簡單的更改username的值為相應的文件名(不加擴展名)來察看/cache目錄下的所有擴展名為.html的文件。

http://example.org/index.php?username=filename

盡管該程序限制了攻擊者所操作的目錄和文件名,但變更文件名并不是唯一的手段。攻擊者可以創造性地達到在文件系統中進行跨越的目的,而去察看其他目錄中的.html文件以發現敏感信息。這是因為可以在字串使用父目錄的方式進行目錄跨越:

http://example.org/index.php?username=../admin/users

上面URL的運行結果如下:

<?php

include '/cache/../admin/users.html';

?>

此時,..意味著/cache的父目錄,也就是根目錄。這樣上面的例子就等價于:

<?php

include '/admin/users.html';

?>

由于所有的文件都會在文件系統的根目錄下,該流程就允許了一個攻擊者能訪問你服務器上所有的.html文件。

在某些平臺上,攻擊者還可以使用一個NULL來終止字符串,例如:

http://example.org/index.php?username=../etc/passwd%00

這樣就成功地繞開了.html文件擴展名的限制。

當然,一味地去通過猜測攻擊者的所有惡意攻擊手段是不可能的,無論你在文件上加上多少控制,也不能排除風險。重要的是在動態包含時永遠不要使用被污染數據。攻擊手段不是一成不變的,但漏洞不會變化。只要通過過濾數據即可修復這個漏洞(見第一章):

<?php

$clean = array();

/* $_GET[’filename’] is filtered and stored in $clean[’filename’]. */

include '/path/to/{$clean[’filename’]}';

?>

如果你確認參數中只有文件名部分而沒有路徑信息時,另一個有效的技巧是通過使用basename( )來進行數據的過濾:

<?php

$clean = array();

if (basename($_GET[’filename’] == $_GET[’filename’])

{

$clean[’filename’] = $_GET[’filename’];

}

include '/path/to/{$clean[’filename’]}';

?>

如果你允許有路徑信息但想要在檢測前把它化簡,你可以使用realpath()函數:

<?php

$filename = realpath('/path/to/{$_GET[’filename’]}');

?>

通過上面程序處理得到的結果($filename)可以被用來確認是否位于/path/to目錄下:

<?php

$pathinfo = pathinfo($filename);

if ($pathinfo[’dirname’] == ’/path/to’)

{

/* $filename is within /path/to */.

}

?>

如果檢測不通過,你就應該把這個請求記錄到攻擊日志以備后查。這個在你把這個流程作為深度防范措施時特別重要,因為你要確定其它的安全手段失效的原因。

標簽: PHP
相關文章:
主站蜘蛛池模板: 精品亚洲综合久久中文字幕 | 亚洲欧美日韩精品久久亚洲区色播 | 久久国产精品99久久久久久牛牛 | 久久91精品国产99久久yfo | 久久w5ww成w人免费不卡 | 欧洲美女a视频一级毛片 | 亚洲精品天堂在线观看 | 色香欲综合成人免费视频 | 亚洲高清在线观看视频 | 男的操美女 | 日本wwxx色视频 | 免费女人18毛片a级毛片视频 | caoporen在线视频入口 | 日韩视频中文字幕 | 在线观看视频99 | 国产精品爱久久久久久久 | 欧美大片一级毛片 | 欧美在线精品一区二区三区 | 全国男人天堂网 | 日本精品高清一区二区2021 | 亚洲黄色免费在线观看 | 国产成人免费网站 | 12一15女人a毛片 | 无码精品一区二区三区免费视频 | 日本免费人成黄页网观看视频 | 国产在线视频一区二区三区 | 自拍偷拍欧美视频 | 特级aaa片毛片免费观看 | 亚洲第一网站免费视频 | 久艹视频在线 | 男女乱淫免费视频 | 亚洲在线网址 | 美女网站在线观看视频18 | 2022免费国产精品福利在线 | 精品三级内地国产在线观看 | 99精品福利 | 午夜伦4480yy妇女久久久 | 久久精品综合免费观看 | 韩国免费播放一级毛片 | 久久r这里只有精品 | 亚洲天堂男人在线 |