PHP代码审计

Posted hi-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP代码审计相关的知识,希望对你有一定的参考价值。

Preface

  这篇文章的内容会不断的充实和丰富,前期会增加一些之前爆出漏洞的复现过程,来丰富自己实际代码审计经验,后期如果能挖掘出新的漏洞,便更好。

代码审计之SQL注入:BlueCMSv1.6 sp1

 

常用的输出函数

echo:输出一个字符串或变量,但是不能输出数组
print_r:输出一个数组
var_dump:输出一个变量的结构,这个变量包含普通变量,数组,对象

获取当前进程所有变量、函数、常量、类

get_defined_vars(void):返回当前可用的变量列表的多位数组,包括环境变量、服务器变量和用户定义的变量

$GLOBALS:返回所有的全局变量

get_defined_functions:获取所有已经定义的函数,包含内部函数和用户定义的函数。

==> 输出用户定义的函数方法为:

$hhh=get_defined_functions();
var_dump($hhh[‘user‘]);

get_defined_constants(void):返回所有可用的常量,包含系统常量和用户定义的常量

get_declared_classes(void):返回所有可用的类,包含系统类和用户定义的类

get_include_files():返回所有的包含的文件路径的数组

需要了解的超全局变量

$GLOBALS:引用全局作用域中可用的全部变量

$_SERVER:保存关于包头、路径和脚本位置的信息

$_REQUEST

$_POST

$_GET

$_FILES

_ENV

$_COOKIE

$_SESSION

$_SERVER 中访问的最重要的元素

元素/代码 
描述 
$_SERVER[‘php_SELF‘] 返回当前执行脚本的文件名
$_SERVER[‘GATEWAY_INTERFACE‘] 返回服务器使用的 CGI 规范的版本
$_SERVER[‘SERVER_ADDR‘] 返回当前运行脚本所在的服务器的 IP 地址
$_SERVER[‘SERVER_NAME‘] 返回当前运行脚本所在的服务器的主机名(如 www.w3school.com.cn)
$_SERVER[‘SERVER_SOFTWARE‘] 返回服务器标识字符串(比如 Apache/2.2.24)
$_SERVER[‘SERVER_PROTOCOL‘] 返回请求页面时通信协议的名称和版本(如:“HTTP/1.0”)
$_SERVER[‘REQUEST_METHOD‘] 返回访问页面使用的请求方法(如POST)
$_SERVER[‘REQUEST_TIME‘] 返回请求开始时的时间戳(例如 1577687494)
$_SERVER[‘QUERY_STRING‘] 返回查询字符串,如果是通过查询字符串访问此页面
$_SERVER[‘HTTP_ACCEPT‘] 返回来自当前请求的请求头
$_SERVER[‘HTTP_ACCEPT_CHARSET‘] 返回来自当前请求的 Accept_Charset 头( 例 如 utf-8,ISO-8859-1)
$_SERVER[‘HTTP_HOST‘] 返回来自当前请求的 Host 头
$_SERVER[‘HTTP_REFERER‘] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)
$_SERVER[‘HTTPS‘] 是否通过安全 HTTP 协议查询脚本
$_SERVER[‘REMOTE_ADDR‘] 返回浏览当前页面的用户的 IP 地址
$_SERVER[‘REMOTE_HOST‘] 返回浏览当前页面的用户的主机名
$_SERVER[‘REMOTE_PORT‘] 返回用户机器上连接到 Web 服务器所使用的端口号
$_SERVER[‘SCRIPT_FILENAME‘] 返回当前执行脚本的绝对路径
$_SERVER[‘SERVER_ADMIN‘] 该值指明了Apache服务器配置文件中的SERVER_ADMIN 参数
$_SERVER[‘SERVER_PORT‘] Web 服务器使用的端口。默认值为 “80”
$_SERVER[‘SERVER_SIGNATURE‘] 返回服务器版本和虚拟主机名
$_SERVER[‘PATH_TRANSLATED‘] 当前脚本所在文件系统(非文档根目录)的基本路径
$_SERVER[‘SCRIPT_NAME‘] 返回当前脚本的路径
$_SERVER[‘SCRIPT_URI‘] 返回当前页面的 URI

 

Reference:

  PHP 代码审计 链接:https://pan.baidu.com/s/1dGiP1Mp  密码:ibs0

 

以上是关于PHP代码审计的主要内容,如果未能解决你的问题,请参考以下文章

PHP代码审计18—PHP代码审计小结

PHP代码审计 | 记一次CMS代码审计

php代码审计4审计代码执行漏洞

0-PHP代码审计——通用代码审计的思路

0-PHP代码审计——通用代码审计的思路

PHP代码审计1-审计环境与调试函数