php文件型包含漏洞總結,phpinfo文件包含漏洞

本文目錄一覽:

文件包含漏洞形成的原因是什麼

導致系統漏洞的原因包括程序邏輯結構設計不合理,不嚴謹、編程人員程序設計錯誤以及目前為止硬體無法解決特定的問題:

1、編程人員在設計程序時,對程序邏輯結構設計不合理,不嚴謹,因此產生一處或者多處漏洞,正是由於這些漏洞,給病毒入侵用戶電腦提供了入口。

2、編程人員的程序設計錯誤也是計算機系統漏洞產生的原因之一,受編程人員的能力、經驗和當時安全技術所限,在程序中難免會有不足之處,輕則影響程序效率,重則導致非授權用戶的許可權提升,這種類型的漏洞最典型的是緩衝區溢出漏洞,它也是被黑客利用得最多的一種類型的漏洞。

3、由於目前硬體無法解決特定的問題,使編程人員只得通過軟體設計來表現出硬體功能而產生的漏洞,也會讓黑客長驅直入,攻擊用戶的電腦。

擴展資料:

漏洞的影響範圍很廣,包括系統本身及其支持軟體、網路客戶端和伺服器軟體、網路路由器和安全防火牆。

在不同類型的硬體和軟體設備、相同設備的不同版本、不同的系統由不同的設備組成,以及同一系統在不同的設置下,都會存在不同的安全漏洞。

因此,隨著時間的推移,舊的系統漏洞會消失,新的系統漏洞會繼續出現。系統中的漏洞也依然存在。

PHP漏洞有哪些

首先和ASP一樣,對敏感字元過濾不嚴會導致注入..

還有PHP很有特點,他得運行程序是很人性化得,如果設置不好,隨便提交個有錯得地址之類就會告訴你絕對路徑之類得敏感信息.

PHP包含過濾不嚴會導致讀取任意文件.

變數過濾不嚴會導致偽造數據欺騙伺服器.

等等等等好多..我說得這些都是比較常見和常用得

php漏洞與代碼審計過程中需要注意的幾點

1.xss + sql注入

其中佔大頭的自然是XSS與SQL注入,對於框架類型或者有公共文件的,建議在公共文件中統一做一次XSS和SQL注入的過濾。寫個過濾函數,可由如下所示:

$_REQUEST = filter_xss($_REQUEST);

$_GET = filter_xss($_GET);

$_POST = filter_xss($_POST);

$_COOKIE = filter_xss($_COOKIE);

$_POST = filter_sql($_POST);

$_GET = filter_sql($_GET);

$_COOKIE = filter_sql($_COOKIE);

$_REQUEST = filter_sql($_REQUEST);

這裡有一點需要說明,$_REQUEST雖然等於$_GET+$_POST,但他們是獨立的數組,也就是說假設改變了$_GET的值,但$_REQUEST的值還是原來的值,所以過濾時都不能落下,至於其他的如$_FILE之類的就可忽略了。

最簡單的filter_xss函數是htmlspecialchars()

最簡單的filter_sql函數是mysql_real_escape_string()

當然,誰都知道這種過濾filter_sql只能過濾字元型和搜索型的注入,對於數字型是沒有辦法的,但也說明做了這層過濾後,只需在後面注意數字型的SQL語句就可以了,遇到了加intval過濾就可以了,這就變得容易多了。

2. 命令執行

對於命令執行,可以從關鍵字入手,總共可分為3類

(1) php代碼執行 :eval等

(2)shell命令執行:exec、passthru、system、shell_exec等

(3) 文件處理:fwrite、fopen、mkdir等

對於這幾類需要注意其參數是否用戶可控。

3.上傳漏洞

對於上傳漏洞,也是重點關注的地方,要仔細分析它的處理流程,針對上傳的繞過方式是很多的,最保險的方式:在保存文件是採用文件名隨機命名和後綴白名單方式。其次要注意的一點是上傳文件的地方可能不止一處,不要有遺漏,可能會碰到這樣的情況,突然在某個目錄裡面包含了一個第三方的編輯器在裡面。

文件包含漏洞涉及的函數如include() 、include_once()、require()、require_once()、file_get_contents()等

最常見的還是出在下載文件功能函數,例如download.php?file=///etc/passwd 這種類型中。

4. 許可權繞過

許可權繞過可分為兩類吧

(1)後台文件的未授權訪問。後台的文件沒有包含對session的驗證,就容易出現這樣的問題

(2)未作用戶隔離,例如mail.php?id=23顯示了你的信件,那麼換個ID, mail.php?id=24就查看到了別人的信件,編寫代碼是方便,把信件都存在一個數據表裡,id統一編號,前端展現時只需按id取出即可,但未作用戶隔離,判定歸屬,容易造成越權訪問。

這樣的例子是很常見的,給某銀行做評估是就經常發現這種漏洞。

5. 信息泄露

信息泄露算是比較低危的漏洞了,比如列目錄這種就屬於部署問題,而與代碼審計無關了,而像暴路徑、暴源碼這種是需要防止的。曾經遇到這樣的代碼

?php if(empty($_GET[‘a’])) {…} ?

表面上似乎沒問題,可是當請求變為 xx.php?a[]=1時,即參數變為數組的時候,就會發生錯誤以致路徑泄露,而用isset判斷則不會,當然一個個防太麻煩,建議在配置文件中關閉錯誤提示,或者在公共文件中加入如下代碼以關閉錯誤顯示功能:

?php error_reporting(0);?

php文件包含漏洞可造成的危害有哪些

假如你的 include 中包含 可變的參數,而且可悲外部修改,例如:

?php

include(“inc/”.$_GET[‘file’]);

這樣的話,就會引發漏洞,用戶可以構造任意參數來讀取你的文件。

PHP 網路開發詳解之遠程文件包含漏洞

以下代碼(Code)實現了根據瀏覽器地址欄參數的文件名稱包含不同文件的功能。

複製代碼

代碼如下:

?php

$file_name

=

$_GET[“filename”];

//獲得當前文件名

include(“$file_name

“);

//包含文件

//一些其他操作

?

這時,通過在地址欄上指定不同的文件名就可以實現包含不同文件並執行的功能。例如,通過在瀏覽器上訪問就可以在代碼(Code)中包含並執行myinc.php文件。

由於上面的代碼(Code)沒有進行任何錯誤處理,在瀏覽器上不加參數運行,所以將得到以下運行結果。

Warning:

include(.php)

[function.include]:

failed

to

open

stream:

No

such

file

or

directory

in

C:\Program

Files\xampp\htdocs\Bugs\test6.php

on

line

3

Warning:

include()

[function.include]:

Failed

opening

‘.php’

for

inclusion

(include_path=’.;C:\Program

Files\xampp\php\pear\’)

in

C:\Program

Files\xampp\htdocs\Bugs\test6.php

on

line

3

訪問者通過讀取這段錯誤信息,可以得知當前的操作是一個文件包含操作。這時,可以在自己的伺服器上放置一個相應的腳本代碼。需要注意的是PHP在獲取遠程文件時獲得的是遠程伺服器的最終輸出結果,而不是文件本身。該腳本代碼位於192.168.0.1伺服器上,文件名為hello.txt,腳本代碼(Code)如下所示。

複製代碼

代碼如下:

?php

echo

“hello

world!”;

?

這時,通過在瀏覽器中訪問就可以運行hello.txt中的腳本了。

為了解決這個問題,一種方式是完善代碼的錯誤信息,使訪問者無法知道當前腳本正在包含參數中指定的文件。修改後的代碼(Code)如下所示。

複製代碼

代碼如下:

?php

$file_name

=

$_GET[“filename”];

//獲得當前文件名

if(!@include(“$file_name.php”))

//包含文件

{

die(“頁面在瀏覽過程中出現錯誤”);

}

//一些其他操作

?

修改後,如果在被包含的文件無法找到時將出現「頁面在瀏覽過程中出現錯誤」的錯誤信息,訪問者將無法獲得當前頁面的具體操作信息。

第二種方式可以更加有效地防止遠程文件包含攻擊。方式是替換地址欄參數中的斜線「/」。這樣,在地址欄參數中輸入遠程文件地址時,代碼將無法正確地獲得參數。修改後的代碼(Code)如下所示。

複製代碼

代碼如下:

?php

$file_name

=

str_replace(‘/’,

”,

$_GET[“filename”]);

//獲得當前文件名

if(!@include(“$file_name.php”))

//包含文件

{

die(“頁面在瀏覽過程中出現錯誤”);

}

//一些其他操作

?

這樣,在瀏覽器中訪問

時,實際上PHP代碼(Code)獲得的包含文件名稱是http:192.168.0.1bugstest6_test。頁面將不會包含遠程文件,並顯示相應的錯誤信息。

如何查找php文件包含漏洞的方法

找360或安全聯盟檢測介面, 免費的。

主要是查上傳漏洞。可以百度下,夠學習一段時間的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158054.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-19 00:38
下一篇 2024-11-19 00:38

相關推薦

發表回復

登錄後才能評論