(一)parse_str()—将字符串解析到变量中
<?php$a=‘‘;parse_str($_SERVER[‘QUERY_STRING‘]); //$_SERVER[‘QUERY_STRING‘] 保存url的查询部分print $a;?>
?a=1 即可完成覆盖
(二)extract()—从数组中将变量导入
<?php$a = ‘‘;extract($_GET);print $a;?>
?a=1即可完成覆盖
(三)import_request_variables()—将 GET/POST/Cookie 变量导入到全局作用域中 >php 4.1.0 <php 5.4.0
<?php ?????//>php4.1.0 <php5.4.0$a = ‘0‘;import_request_variables(‘G‘); print $a; ??> ?
在相应版本内?a=1即可覆盖
(四)register_globals=on <php 5.3
?a=1可直接覆盖 —— 将变量初始化避免此问题
php 代码审计之变量覆盖
原文地址:https://www.cnblogs.com/P201521410042/p/8872465.html