您的位置:首页 > 编程语言 > PHP开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: