成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP安全-源碼暴露(二)

瀏覽:152日期:2022-09-11 18:19:14
源碼暴露

你的WEB服務(wù)器必須要能夠讀取你的源確并執(zhí)行它,這就意味著任意人所寫(xiě)的代碼被服務(wù)器運(yùn)行時(shí),它同樣可以讀取你的源碼。在一個(gè)共享主機(jī)上,最大的風(fēng)險(xiǎn)是由于WEB服務(wù)器是共享的,因此其它開(kāi)發(fā)者所寫(xiě)的PHP代碼可以讀取任意文件。

<?php

header(’Content-Type: text/plain’);

readfile($_GET[’file’]);

?>

通過(guò)在你的源碼所在的主機(jī)上運(yùn)行上面腳本,攻擊者可以通過(guò)把file的值指定為完整的路徑和文件名來(lái)使WEB服務(wù)器讀取并顯示任何文件。例如,假定該腳本命名為file.php,位于主機(jī)example.org上,只要通過(guò)訪問(wèn)下面鏈接即可使文件/path/to/source.php的內(nèi)容暴露:

http://example.org/file.php?file=/path/to/source.php

當(dāng)然,要使這段簡(jiǎn)單的代碼起作用,攻擊者必須確切地知道你的源碼的位置,但是攻擊者可以寫(xiě)出更復(fù)雜的腳本,通過(guò)它可以方便在瀏覽整個(gè)文件系統(tǒng)。關(guān)于此類(lèi)腳本,請(qǐng)看本章后面部分的示例。

對(duì)該問(wèn)題沒(méi)有完美的解決方案。正如第五章所述,你必須考慮所有你的源碼都是公開(kāi)的,甚至是保存在WEB主目錄之外的代碼也是如此。

最好的辦法是把所有敏感數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中。雖然這使一些代碼的編寫(xiě)多了一層復(fù)雜性,但這是防止你的敏感數(shù)據(jù)暴露的最好方法。很不幸的是,還有一個(gè)問(wèn)題。如何保存你的數(shù)據(jù)庫(kù)訪問(wèn)密碼?

請(qǐng)看保存在網(wǎng)站主目錄之外一個(gè)名為db.inc的文件:

<?php

$db_user = ’myuser’;

$db_pass = ’mypass’;

$db_host = ’localhost’;

$db = mysql_connect($db_host, $db_user, $db_pass);

?>

如果該文件的路徑是已知的(或被猜中),就存在著你的服務(wù)器上的另外一個(gè)用戶(hù)訪問(wèn)該文件的可能,就會(huì)獲取數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限,這樣你保存在數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)就會(huì)暴露。

解決該問(wèn)題的最好方案是把你的數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限以下面的格式保存在一個(gè)只有系統(tǒng)管理員權(quán)限才能讀取的文件中:

SetEnv DB_USER 'myuser'

SetEnv DB_PASS 'mypass'

SetEnv是一個(gè)Apache的指令,上面文件的意思是建立兩個(gè)分別代表你的數(shù)據(jù)庫(kù)用戶(hù)名及密碼的Apache環(huán)境變量。當(dāng)然,該技巧的關(guān)鍵是只有系統(tǒng)管理員才能讀取該文件。如果你無(wú)法登錄成為系統(tǒng)管理員,你就可以限制該文件只能由你自已進(jìn)行讀取,這樣的保護(hù)方式與上面的方式類(lèi)似。

$ chmod 600 db.conf

$ ls db.conf

-rw------- 1 chris chris 48 May 21 12:34 db.conf

這就有效地防止了惡意腳本訪問(wèn)你的數(shù)據(jù)中權(quán)限,因此對(duì)于數(shù)據(jù)庫(kù)中保存的敏感數(shù)據(jù)來(lái)說(shuō),不會(huì)有危及安全的重大風(fēng)險(xiǎn)。

為使該文件生效,你就需要能夠通過(guò)PHP訪問(wèn)其中的數(shù)據(jù)。要達(dá)到這個(gè)目的,需要在httpd.conf中寫(xiě)上如下的包含句:

Include '/path/to/db.conf'

需要注意該語(yǔ)句需要插入在VirtualHost區(qū)域內(nèi),否則其它用戶(hù)就能取得相應(yīng)的內(nèi)容。

由于Apache的父進(jìn)程以系統(tǒng)管理員身份運(yùn)行(需要綁定在80端口),它能夠讀取該配置文件,但處理服務(wù)器請(qǐng)求的子進(jìn)程(運(yùn)行PHP腳本)不能讀取該文件。

你可以通過(guò)$_SERVER超級(jí)全局?jǐn)?shù)組去訪問(wèn)這兩個(gè)變量,這樣在db.inc中,只要通過(guò)引用$_SERVER變量即可,而不是在其中寫(xiě)明數(shù)據(jù)庫(kù)的權(quán)限:

<?php

$db_user = $_SERVER[’DB_USER’];

$db_pass = $_SERVER[’DB_PASS’];

$db_host = ’localhost’;

$db = mysql_connect($db_host, $db_user, $db_pass);

?>

如果該文件被暴露,數(shù)據(jù)庫(kù)訪問(wèn)權(quán)也不會(huì)泄露。這對(duì)于共享主機(jī)是一大安全性改進(jìn),同時(shí)對(duì)于獨(dú)立主機(jī)也是一種深度防范手段。

注意在使用上述技巧時(shí),數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限就位于$_SERVER超級(jí)公用數(shù)組中。這就需要同時(shí)限制普通訪問(wèn)者運(yùn)行phpinfo()察看或其它任何導(dǎo)致$_SERVER內(nèi)容暴露的原因。

當(dāng)然,你可以使用本技巧保護(hù)任何信息(不只是數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限),但我發(fā)現(xiàn)把大多數(shù)數(shù)據(jù)保存在數(shù)據(jù)庫(kù)更為方便,特別是由于該技巧需要得到你的主機(jī)提供商的協(xié)助。

標(biāo)簽: PHP
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品乱子久久久久| 国产情人综合久久777777| 欧美成人精品3d动漫h| 麻豆国产欧美日韩综合精品二区| 国产精品久久久对白| 亚洲欧美综合色| 国产精品豆花视频| 国产婷婷色一区二区三区四区| 国产jizzjizz一区二区| 91精品欧美福利在线观看| 精东粉嫩av免费一区二区三区| 日本高清成人免费播放| 免费欧美在线视频| 色哟哟国产精品| 日韩精品乱码免费| 99精品免费| 亚洲天堂2016| 亚洲黑丝一区二区| 亚洲视频一区二区在线观看| 国产主播一区二区三区四区| 国产精品情趣视频| 欧美日韩亚洲免费| 欧美激情中文不卡| 99精品久久只有精品| 久久综合久久鬼色| 91欧美一区二区| 日本一区二区三区在线观看| 色综合色综合色综合| 国产精品国产三级国产普通话99 | 欧美人妖巨大在线| 国产一区二区三区综合| 日韩视频一区二区三区在线播放| 成人高清伦理免费影院在线观看| 精品国产sm最大网站免费看| 欧美国产三级| 亚洲色图欧美在线| 亚洲精品欧美| 亚洲国产成人tv| 久久久久在线| 免费在线成人网| 在线播放中文一区| 99视频有精品| 国产片一区二区| 亚洲免费观看| 午夜久久久影院| 91精品91久久久中77777| 麻豆成人在线观看| 欧美四级电影在线观看| 国产美女一区二区| 久久综合av免费| 欧美另类专区| 最新日韩av在线| 国产深夜精品| 美女尤物国产一区| 日韩美女天天操| 国产一区二区三区自拍| 亚洲一区中文在线| 欧美日韩国产另类一区| www.视频一区| 国产精品女主播在线观看| 99精品国产一区二区青青牛奶 | 亚洲精品一区二区精华| 激情欧美丁香| 天堂精品中文字幕在线| 欧美亚洲日本国产| 成人不卡免费av| 综合激情成人伊人| 91福利精品第一导航| 国产成人av资源| 国产精品无遮挡| 亚洲影视在线| 激情综合色综合久久综合| 精品美女被调教视频大全网站| 欧美成人蜜桃| 亚洲一区二区三区四区在线观看| 国产女优一区| 国产一区欧美日韩| 久久综合网色—综合色88| 国产在线观看一区二区| 欧美哺乳videos| 尤物网精品视频| 免费久久99精品国产| 精品免费日韩av| 亚洲高清成人| 免费精品视频最新在线| 日韩精品最新网址| 亚洲福利一区| 久久精品国产99久久6| 久久综合国产精品| 国产嫩草一区二区三区在线观看| 黄色日韩网站视频| 日韩欧美第一区| 亚洲免费不卡| 精品影视av免费| 久久亚洲春色中文字幕久久久| 亚洲国产精品第一区二区| 激情综合色播激情啊| 欧美国产亚洲另类动漫| 欧美资源在线| 成人亚洲一区二区一| 亚洲欧美国产毛片在线| 欧美日本视频在线| 欧美三级在线| 日韩av在线发布| 久久先锋影音av鲁色资源网| 日韩午夜一区| 国内精品久久久久影院色| 国产欧美一区二区三区网站 | 日韩视频免费观看高清完整版 | 欧美激情第8页| 免费看欧美女人艹b| 欧美激情综合网| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲国产视频直播| 精品精品国产高清a毛片牛牛| 国产区二精品视| 国产69精品久久久久777| 亚洲免费观看高清| 欧美精品123区| 最新成人av网站| 福利一区二区在线| 亚洲免费av在线| 日韩视频国产视频| 国产精品一二| av中文字幕在线不卡| 香蕉加勒比综合久久| 久久蜜桃一区二区| 久久天堂成人| 欧美网站在线| 国产一区二区h| 亚洲大型综合色站| 久久久精品日韩欧美| 欧美视频第二页| 韩日成人在线| 高清国产一区二区三区| 一级女性全黄久久生活片免费| 亚洲精品一区二区三区四区高清| 日本韩国精品一区二区在线观看| 一区二区在线视频观看| 韩国一区二区视频| 亚洲一区二区免费视频| 国产区在线观看成人精品| 日韩欧美一区电影| 在线观看日韩国产| 99riav国产精品| 欧美一区三区二区在线观看| 精品一区二区成人精品| 一区二区三区91| 久久久久久久久久久久久久久99| 欧美日韩一区三区四区| 国产视频一区在线观看一区免费| 91小视频在线观看| 久久精品99国产国产精| 亚洲高清免费在线| 国产日韩欧美一区二区三区综合 | 欧美黄色免费| 国产成人在线免费观看| 日本视频一区二区三区| 一区二区三区欧美激情| 国产日韩欧美激情| 欧美一级片在线| 欧美性猛交xxxx乱大交退制版 | 精品美女在线观看| 91精品中文字幕一区二区三区 | 精品日韩一区二区三区| 欧美精品一卡二卡| 在线免费观看成人短视频| 一区二区av| 你懂的视频一区二区| 成人性视频网站| 国产在线一区二区| 美女mm1313爽爽久久久蜜臀| 天涯成人国产亚洲精品一区av| 亚洲蜜桃精久久久久久久| 国产精品丝袜一区| 久久久亚洲综合| 欧美成人vps| 日韩欧美一区二区不卡| 91精品国产综合久久精品app| 久久先锋资源| 久久国产日韩欧美| 久久xxxx精品视频| 美日韩精品免费| 久久国产精品毛片| 美女诱惑黄网站一区| 色综合久久天天| 欧美日韩中文字幕一区| 欧美日韩视频在线观看一区二区三区 | 欧美激情一区二区三区在线| 欧美一区二区日韩一区二区| 日韩免费电影一区| 日韩免费福利电影在线观看| 日韩午夜精品电影| 精品国产免费久久 | 久久先锋影音av| 国产日韩成人精品| 国产人成亚洲第一网站在线播放| 国产亲近乱来精品视频| 亚洲国产精品99久久久久久久久| 久久精品欧美日韩精品|