PHP代码审计(笔记)——超全局变量
2018-03-11 13:59
363 查看
常见的超全局变量
2.1 $GLOBALS–引用全局作用域中可用的全部变量
GLOBALS这4000
种全局变量用于在PHP脚本中的任意位置访问全局变量(从函数或方法中均可)。PHP在名为GLOBALS这种全局变量用于在PHP脚本中的任意位置访问全局变量(从函数或方法中均可)。PHP在名为GLOBALS[index]的数组中存储了所有全局变量。变量的名字就是数组的键。
2.2 $_SERVER–服务器和执行环境信息
1) SERVER超全局变量保存关于报头、路径和脚本位置的信息。使用printr(SERVER超全局变量保存关于报头、路径和脚本位置的信息。使用printr(_SERVER);输出服务器和执行环境信息。2) 在浏览器页面上单击右键,选择查看页面源代码,可以更直观的查看服务器和执行环境信息。>
3) 下表列出了能够在 $_SERVER中访问的比较重要的元素。如图》》》》可以用于XSS反射型漏洞利用
图
2.3 $_GET–HTTP GET 变量
PHP中GET可用于收集提交HTML表单(method="get")之后的表单数据。GET可用于收集提交HTML表单(method="get")之后的表单数据。_GET还可以收集URL中的发送的数据。2.4 $_POST—HTTP POST 变量
PHP POST广泛用于收集提交method="post"的HTML表单后的表单数据,POST广泛用于收集提交method="post"的HTML表单后的表单数据,_POST也常用于传递变量。1) 在浏览器地址栏输入
http://localhost/test.php,使用print_r($_POST);输出提交上来的数据。这里没有提交数据,故结果为空。
2) 在浏览器中输入地址
http://localhost/ZVulDrill/。
3) 单击“登录”,在登录界面任意输入用户名和密码,如xipu/123456,单击“登录”按钮。
4) 开启火狐浏览器代理功能(127.0.0.1/8080)。
5) 打开Burp Suite(双击c:\tools文件夹下的BurpLoad.jar),开启拦截功能,刷新浏览器页面,获得请求信息,将该请求信息发送到Repeater。
6) 修改请求信息,将网址改为
http://localhost/test.php,修改post信息,单击Go按钮,可以在Response中看到输出的post信息。
7) 可以在浏览器中就行查看。在Response处单击右键,选择Request in browser->in original session。
8) 单击Copy,关闭Burp Suite的拦截功能(Intercept is off),在浏览器地址栏粘贴刚刚复制的网址,跳转到test.php页面,可以看到post信息。
2.5 $_FILES—HTTP文件上传变量
1) 使用print_r($_FILES);输出文件上传变量信息。如图18所示图 18
2) 新建file.htm文件,代码如下。action=”test.php”表示将表单数据提交到test.php页面。method=”post”表示提交方法 post。enctype=”multipart/form-data”用于表单里有图片上传时确保匿名上载文件的正确编码。
<label for="file">Filename:</label>使用for 属性规定label标签与Filename表单元素绑定。
<input type="file" name="file" id="file" />用于上传文件。
<input type="submit" name="submit" value="Submit" />定义提交按钮。如图19所示
图 19
3) 在浏览器地址栏输入
http://localhost/file.htm,回车,单击浏览,选择某一张图片上传。
4) 单击Submit,上传图片
5) 这时跳转到test.php页面,输出上传文件的一些信息,如文件的名字、类型(此处为图片image/png)和大小等。
2.6 $_COOKIE — HTTP Cookies信息
2.7 $_REQUEST—HTTP Request 变量
PHP $_REQUEST用于收集 HTML 表单提交的数据。
2.8 $_SESSION—session 变量,包含当前脚本中session变量的数组。
使用print_r ($_SESSION);输出session信息。
2.9 $_ENV—环境变量
1) 修改代码如图所示,使用print_r($_ENV);输出当前php环境变量数组。在浏览器地址栏输入http://localhost/test.php,则可以得到php环境变量信息。
图
2) 在网页上单击右键,选择查看页面源代码,则可以更清楚直接的查看php环境信息。
FROM:
http://www.shiyanbar.com/experiment-course/experiment-course/vid/2108
相关文章推荐
- PHP学习笔记【15】--全局变量,静态变量,静态方法,php方法重载
- php笔记之魔法常量和超全局变量
- PHP学习笔记:全局变量的思考
- PHP学习笔记--Php预定义超全局变量$_GET
- PHP学习笔记【15】--全局变量,静态变量,静态方法,php方法重载
- PHP学习笔记二十一【全局变量】
- PHP——超全局变量_学习笔记
- PHP 学习笔记(一):基础教程:语法,变量,函数,数组,超全局
- php学习笔记--全局变量,超全局变量
- php 学习笔记 —— 全局变量 魔术变量 (三)
- PHP学习笔记之全局变量演示
- PHP学习笔记【24】--PHP超全局变量,$_GET,$_POST,$_SERVER
- PHP学习笔记【24】--PHP超全局变量,$_GET,$_POST,$_SERVER
- PHP学习笔记——超全局数组(预定义变量)
- php中的超全局变量
- 性能测试培训笔记-全局变量和局部变量
- PHP 超全局变量详解 $GLOBALS $_SERVER $_GET $_POST $_COOKIE $_FILES $_ENV $_REQUEST $_SESSION
- PHP学习笔记——php变量其它数据类型;
- PHP中全局变量$_SERVER的详细用法
- php 扩展调用 php 标准函数 及 操作全局变量