代码审计day2

时间:2022-07-23
本文章向大家介绍代码审计day2,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

代码调试

echo

​ 最简单的输出数据调试方法,一般用来输出变量值或者不确定执行到哪个分支

print_r、var_dump、debug_zval_dump

​ 输出变量的数据值,特别是数组和对象数据,一半在查看接口的返回值或者不确定的变量可以使用这两个api,debug_zval_dump输出结果和var_dump类似,位移增加的值是refcount,记录一个变量被引用了多少次

debug_print_backtrace

​ 可以查看输出的调用栈信息

exit()

​ 停止程序,无法运行后面代码

超全局变量

全局变量

​ 全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不 会到函数内部。所以在函数内部使用的时候常常看到类似global $a;

超全局变量

​ 超全局变量作用域在所有脚本都有效。所以,在函数可直接使用。比如_ GET,. SERVER都是超全局变量。除GET, . _POST, SERVER, _ COOKIE等之外的超全局变量保存在

$GLOBALS
$_REQUEST
$_GET
$_ENV
$_SESSION
$_SERVE
$_POST
$_FILES
$_COOKIS