PHP语言代码漏洞审计技巧笔记分享

PHP代码审计,安全漏洞挖掘简要记录


1 全局变量


    PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中
    都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
    超全局变量都如下:

    $GLOBALS
        $GLOBALS 超级全局变量数组可以认为是超级全局变量的超集,包含全局作用域
        内的所有变量。$GLOBALS这种全局变量用于在PHP脚本中的任意位置访问全局变
        量(从函数或方法中均可),PHP在名为$GLOBALS[index] 的数组中存储了所有
        全局变量。变量的名字就是数组的键。执行下面的代码可以查看$GLOBALS中所有
        的变量。
        print ' <pre>' ;
        print_r ($GLOBALS);
        print ' </pre>' ;

    $_SERVER
        $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。比如:
        $_SERVER['PHP_SELF']     返回当前执行脚本的文件名。
        $_SERVER['GATEWAY_INTERFACE']     返回服务器使用的 CGI 规范的版本。
        $_SERVER['SERVER_ADDR']     返回当前运行脚本所在的服务器的 IP 地址。
        $_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.xxx.com)。
        $_SERVER['SERVER_SOFTWARE']     返回服务器标识字符串(比如 Apache/2.2.24)。
        $_SERVER['SERVER_PROTOCOL'] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
        $_SERVER['REQUEST_METHOD']     返回访问页面使用的请求方法(例如 POST)。

    $_GET
        $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
        $_GET 也可以收集 URL 中的发送的数据。

    $_POST
        $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。
        $_POST 也常用于传递变量。

    $_FILES
        $_FILES超级全局变量包含通过POST方法向服务器上传的数据的有关信息。

    $_COOKIE
        $_COOKIE超级全局变量存储了通过HTTP cookie传递到脚本的信息。

    $_SESSION
        $_SESSION 超级全局变量包含与所有会话有关的信息。注册会话信息能为
        你提供便利,这样就能在整个网站中引用这些会话信息,而无需通过GET
        或POST显示的传递数据。

    $_REQUEST
        $_REQUEST 用于收集 HTML 表单提交的数据。

    $_ENV
        $_ENV超级全局变量提供PHP解析所在服务器环境的有关信息。此数组中的变
        量包括:
        $_ENV[ 'HOSTNAME' ]  服务器的主机名
        $_ENV[ 'SHELL' ]  系统 shell

    regeister_globals=off

        register_globals 是php中的一个控制选项,可以设置成off或者on ,默认为off
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值