PHP變數覆蓋

2022-07-10 05:57:08 字數 931 閱讀 7692

register_globals用來註冊全域性變數

當register_globals全域性變數設定開啟時,傳遞過來的值會被直接註冊為全域性變數而使用,這會造成全域性變數覆蓋

新版本沒有這個東西了,大概在5.2版本以後就消失了

php version:5.2

<?php

parse_str("name=bill&age=60",$myarray);

print_r($myarray);

?>

//array ( [name] => bill [age] => 60 )

<?php  

$name=』thinking』;

foreach ($_get as $key => $value)

$$key = $value;

var_dump($key);

var_dump($value);

var_dump($$key);

echo $name;

//?name=test

//output:string(4) 「name」 string(4) 「test」 string(4) 「test」 test

extract()函式

<?php

$a = "original";

$my_array = array("a" => "cat","b" => "dog", "c" => "horse");

extract($my_array);

echo "\$a = $a; \$b = $b; \$c = $c";

//$a = cat; $b = dog; $c = horse

?>

(php 4 >= 4.1.0, php 5 < 5.4.0)

PHP 變數覆蓋 extract

這個函式 是因為看了下 phpcms 前台 getshell 發現這些函式果然乙個都不能漏。該函式官方文件 在此 多翻官方文件,好多人跟我說過這個習慣 原因 無非是 變數覆蓋,至於 能造成什麼危害 就看下邊 怎麼寫了。int extract array array int flags extr ov...

php安全 變數覆蓋

php.ini註冊全域性變數 將表單傳入的資料作為全域性變數,例如 接受表單傳遞的值 變數username未定義,被get請求變數覆蓋。注 5.4以上版本已刪除 5.3以下需手動新增 遍歷鍵值 echo a 輸出為get請求的值,變數a被覆蓋。extract array 將陣列轉換為變數,鍵為變數名...

PHP 變數覆蓋漏洞

php中的變數覆蓋漏洞 變數覆蓋 自定義的引數值替換原有變數值的情況稱為變數覆蓋漏洞 經常導致變數覆蓋漏洞場景有 開啟了全域性變數註冊 使用不當 extract 函式使用不當 parse str 函式使用不當 import request variables 使用不當等。在 php5.3 之前,預設...