·
安全帮
出品|安全帮(www.secbang.com)
概述:安全帮专注安全教育
大牛绕过 针对零基础小白
【本章目的】
掌握代码审计中常用的代码调试函数,单引号与双引号之间的区别
【本章原理】
开发中,经常会查看变量的值,因此经常会将变量的值输出到页面以便于查看。这就需
要用到调试函数。
【测试步骤】
·
·
1.$GLOBALS--引用全局作用域中可用的全部变量
$GLOBALS全局变量用于在PHP脚本中的任意位置访问全局变量(从函数或方法中均可)。PHP在名为$GLOBALS[index]的数组中存储了所有全局变量。变量的名字就是数组的键。
Demo1. Test.php中定义变量$secbang,值为secbanger。使用echo $GLOBALS['secbang']输出全局变量$secbang的值,对变量$secbang加上$GLOBALS,即定义该变量为全局变量
访问http://localhost/test.php”,显示“secbanger”。
Demo2. 修改tets.php代码,定义了一个名为test()的函数,赋值局部变量$xipu的值为simple,“echo $GLOBALS[‘secbang’]”语句由于使用了$GLOBALS($GLOBALS['var']是外部的全局变量本身),故输出的是test()函数之外定义的全局变量,即$secbang = "secbanger";,所以输出secbanger。
·
2.$_SERVER--服务器和执行环境信息
$_SERVER超全局变量保存关于报头、路径和脚本位置的信息。使用print_r($_SERVER);输出服务器和执行环境信息,下表列出了能够在 $_SERVER中访问的比较重要的元素
·
2.3 $_GET--HTTP GET 变量
·
2.$_SERVER--服务器和执行环境信息
1.PHP中$_GET$_GET还可以收集URL中的发送的数据。
在浏览器地址栏输入http://localhost/test.php?id=1&key=secbang,回车,这里的$_GET值为从URL中的发送过来的数据。
2. $_POST—HTTP POST 变量
PHP $_POST广泛用于收集表单提交method="post"的HTML表单后的表单数据,$_POST也常用于传递变量。
·
2.$_FILES—HTTP文件上传变量
使用print_r($_FILES);输出文件上传变量信息
新建file.htm文件,代码如下。action="test.php"表示将表单数据提交到test.php页面。method="post"表示提交方法 post。enctype="multipart/form-data"用于表单里有图片上传时确保匿名上载文件的正确编码。使用for 属性规定label标签与Filename表单元素绑定。用于上传文件。定义提交按钮。在浏览器地址栏输入http://localhost/file.htm,回车,单击浏览,选择某一张图片上传。这是跳转到test.php页面,输出上传文件的一些信息,如文件的名字、类型(此处为图片image/png)和大小等。
·
·
2.6 $_COOKIE — HTTP Cookies信息
·
修改代码,先使用echo $ = "secbangers";输出变量$secbang的信息secbangers,再使用print_r ($_COOKIE);输出cookie信息。在浏览器地址栏输入http://localhost/test.php,回车,输出secbangers以及cookie信息。
·
·
【实验思考】
·
1. 代码审计用涉及到的全局变量有哪几个?
·
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论