CTF笔记-php代码审计之函数方法

    技术2025-01-17  11

    文章目录

    前言相关介绍 一、判断类二、执行类三、回显类

    前言

    此文章仅为记录学习过程当中遇到的一些php函数、方法等,将会不定期更新此文章的内容。 你可以直接点击相应的链接来查看函数的详细介绍,本文主要是对函数方法的概括 如果有出现错误的话可以在评论中指出。

    相关介绍

    W3school的PHP教程

    菜鸟教程的PHP教程

    PHP中文网的PHP教程

    自学网的PHP教程

    一、判断类

    函数方法(链接)介绍返回值array_key_exists(键名,数组)检查数组中是否存在该键名键名存在返回True,不存在返回Falsefile_exists(文件路径)检查文件或目录是否存在存在返回True,不存在返回Falseis_object(变量)检测变量是否为一个对象是则返回True,否则返回Falseisset(变量)判断该变量是否已声明已声明则返回True,未声明或NULL值时返回Falsein_array(变量,数组)判断变量是否在数组内若存在则返回True,不存在返回Falseis_string(变量)判断是否为字符串是字符串则返回True,否则返回False

    二、执行类

    函数方法(链接)介绍返回值addslashes(字符串)对字符串中的每个预定义字符(单引号、双引号、反斜杠、NULL)前添加反斜杠(\)返回修改后的字符串array_merge(数组,数组,数组…)将一个或多个数组合并为一个数组合并后的数组die(字符串)执行后输出字符串,并结束当前脚本,是**exit()**的别称error_reporting(报告级别)规定当前脚本新的错误报告级别,若值为0时,关闭错误报告返回旧的错误报告级别file_put_contents(文件路径,变量)把一个变量写入文件中返回写入到文件内数据的字节数header(字符串)向客户端发送原始的HTTP报头htmlspecialchars(字符串)将字符串当中的预定义字符(双引号、单引号、小于、大于、&)转换为HTML实体,即字符串中的 < script >、< b > 等将不会仅作为字符串,而是会被服务器识别为html的标签返回转换后的字符串htmlspecialchars_decode(字符串)将字符串当中的预定义字符(双引号、单引号、小于、大于、&)解码为字符串,即字符串中的< script >、< b >等将仅作为字符串,不会被服务器识别为html的标签返回转换后的字符串imagecreatefromjpeg(图片路径)为某个图片创建句柄创建成功则返回图像资源,失败返回Falseimagedestroy(图片句柄)销毁图片的句柄,释放内存空间imagegif(图片句柄,图片路径)以GIF格式将图片输出到浏览器或文件。图片句柄为必选,其余可选执行成功返回True,失败返回Falseimagejpeg(图片句柄,图片路径,输出质量)以JPEG格式将图片输出到浏览器或文件,质量范围从0-100,默认质量为75。图片句柄为必选,其余可选执行成功返回True,失败返回Falseimagepng(图片句柄,图片路径)以PNG格式将图片输出到浏览器或文件。图片句柄为必选,其余可选执行成功返回True,失败返回Falseimagewbmp(图片句柄,图片路径,前景色)以WBMP格式将图片输出到浏览器或文件,默认图片前景色为黑色。图片句柄为必选,其余可选执行成功返回True,失败返回Falseinclude(文件路径)包含并运行指定文件lcfirst(字符串)将字符串的首字母转换为小写返回转换后的字符串ucfirst(字符串)将字符串的首字母转换为大写返回转换后的字符串ucwords(字符串)将字符串的每个单词的首字母转换为大写返回转换后的字符串md5(字符串)计算该字符串的MD5散列计算成功则返回MD5后的字符串,失败则返回Falsemd5_file(文件)计算该文件的MD5散列计算成功则返回MD5后的字符串,失败则返回Falsemysqli_real_escape_string(数据库连接,字符串)转义sql语句中字符串的特殊字符返回转义后的字符串,转义失败则返回Falsepreg_match(模式,字符串)对字符串进行正则匹配匹配成功时返回1,匹配失败时返回0rename(旧名称,新名称)重命名文件或目录成功返回True,失败返回Falserequire(文件路径)包含并运行指定文件serialize(变量 / 数组)将变量或数组进行序列化返回一个序列化后的字符串unserialize(字符串)将字符串进行反序列化返回一个反序列化后的原变量或数组。若反序列化失败时返回Falsesession_name(会话名称)更新会话的名称,并返回旧会话名称返回会话名称session_start()启动新会话或者重用现有会话,会话内容将会存储在**$_SESSION**数组变量中执行成功返回True,失败返回Falsesession_destroy()销毁当前会话中的全部数据执行成功返回True,失败返回Falseshow_source(文件路径)对一个php文件进行语法高亮显示高亮成功返回True,失败返回Falsestr_replace(字符串1,字符串2,字符串3)将字符串3中的字符串1替换为字符串2(区分大小写)返回替换后的字符串str_ireplace(字符串1,字符串2,字符串3)将字符串3中的字符串1替换为字符串2(不区分大小写)返回替换后的字符串strip_tags(字符串,标签)删除字符串中除了指定标签外的HTML、XML、PHP的标签返回修改后的字符串strtolower(字符串)将字符串转换为小写返回修改后的字符串strtoupper(字符串)将字符串转换为大写返回修改后的字符串substr(字符串,索引,长度)返回字符串的一部分,范围从该索引开始截断指定长度的字符串返回截断后的字符串trim(字符串,字符)删除字符串两侧的字符返回修改后的字符串ltrim(字符串,字符)删除字符串左侧的字符返回修改后的字符串rtrim(字符串,字符)删除字符串右侧的字符返回修改后的字符串unlink(文件路径)删除指定文件删除成功返回True,失败返回False

    三、回显类

    函数方法(链接)介绍返回值chr(数值)返回当前数值对应的ascii字符,数值在0-255内返回一个字符getimagesize(图片路径)测定指定路径(可以是URL地址、文件路径)下的图片文件信息返回一个数组,索引0为图像宽度像素值,索引1为图像高度像素值,索引2为图像类型,索引3为宽度和高度,索引bits为每种颜色的位数,索引channels为图像通道值,索引mime为图像的MIME信息ini_get(字符串)获取配置选项的值返回配置选项值的字符串,值为NULL时返回空字符串,选项不存在返回Falsemt_getrandmax()显示随机数的最大可能值返回一个整数mt_rand(最小值,最大值)使用 Mersenne Twister算法生成一个从最小值到最大值之间的随机整数,最小值默认为0,最大值默认为mt_getrandmax(),速度是 rand() 的4倍返回一个随机整数rand(最小值,最大值)生成一个从最小值到最大值之间的随机整数返回一个随机整数range(整数1,整数2,步数)若整数1值大于整数2时,将会返回一个从整数1到整数2组成的一个数组。若整数1值小于整数2时,将会返回一个从整数2到整数1组成的一个数组。默认的步数为1,即从最小数开始每次累加,直到最大数。返回数组show_source(文件路径)高亮显示文件,即将源代码显示到网页,若文件路径填写为 __FILE__时回显当前页面的php代码time()返回当前时间和1970年1月1日相差的秒数返回整数
    Processed: 0.008, SQL: 9