此程序會調用可覆蓋當前作用域中變量的函數,這可能會為攻擊者打開方便之門。
對于可覆蓋當前作用域中已初始化的變量的函數,攻擊者能夠通過它影響依賴被覆蓋變量的代碼的執行情況。
行中的
例 1:如果攻擊者為下面這段 PHP 代碼中的 str 提供惡意值,則對 parse_str() 的調用可能會覆蓋當前作用域中的所有任意值,包括 first。在這種情況下,如果包含 JavaScript 的惡意值覆蓋 first,則該程序會很容易受到 cross-site scripting 攻擊。
<?php
$first="User";
...
$str = $_SERVER['QUERY_STRING'];
parse_str($str);
echo $first;
?>
[1] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 473