首页 > 编程语言 >【PHP代码审计】危险函数

【PHP代码审计】危险函数

时间:2024-10-08 13:44:40浏览次数:5  
标签:审计 HTTP 函数 File 代码 数组 POST PHP

什么是危险函数?

函数设计出来就是让人使用的,之所以危险,是因为其功能过于强大,开发人员特别是刚从业的人员很少会完整阅读完整个文档,再或者是没有意识到当给这些函数传递一些非常规的,外部可控的参数会带来什么影响。

$ GET //数组,存放着所有通过URL参数传递的数
$ POST //数组,当HTTP POST请求的Content-Type是application/x-www-form-urlencoded或multipart/form-data的部分解析成关联数组
$ FILES //数据,存放着HTTP POST上传的文件信息
$ COOKIE //数组,存放着HTTP头里面cookie段内容
$ REOUEST //数组,默认情况下包含了$GET,$ POST,$ COOKIE的数据
$ SERVER //数组包含了HTTP头,服务器环境等信息
$ SESSION //数组,存放当前会话可用的session变量

PHP中危险函数的五大特性

条件:参数是否可控

特性

1.能够执行任意代码
2.常见能够读取网路资源的函数
3.能够执行系统命令或调用外部程序的函数
4.能够操作文件
5.能够修改上下文环境

执行任意代码的函数

eval 函数
assert函数
create_function 函数
preg_replace 函数
call_user_func /call_user_func_array 函数
array_map 函数
array_filter 函数
usort/uasort 函数
$a($b)动态函数

读取网络资源的函数

Fopen()
File_get_content()
curl()

操作文件的函数

Copy()
File_get_contents()/ File_put_contens
File()
Fopen()
Move_uploaded file()
Readfile()
Rename()
Rmdir()
Unlink()

改变上下文环境的函数

Extract 函数
Parse_str函数
import_request_variables 函数
$$变量覆盖

参考

标签:审计,HTTP,函数,File,代码,数组,POST,PHP
From: https://www.cnblogs.com/o-O-oO/p/18451480

相关文章

  • 【PHP代码审计】过滤函数
    一、SQL过滤函数addslashes()stripslashes()addcslashes()stripcslashes()mysql_escape_string()mysql_real_escape_string()PHP魔术引号Addslashes()返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号()、双引号(”)、反斜线()......
  • phpvulhunter工具:静态 php 代码审计
    phpvulhunter是一款PHP源码自动化审计工具,通过这个工具,可以对一些开源CMS进行自动化的代码审计,并生成漏洞报告。1、安装首先从github上进行获取:gitclonehttps://github.com/OneSourceCat/phpvulhunter2、下载完成后,将工程目录放置于WAMP等PHP-Web运行环境中即可。访......
  • 代码随想录算法训练营第七天|第454题.四数相加II,383. 赎金信,第15题. 三数之和
    第454题.四数相加II文章链接:https://programmercarl.com/0454.四数相加II.html视频讲解:https://www.bilibili.com/video/BV1Md4y1Q7Yh/题目链接:https://leetcode.cn/problems/4sum-ii/description/题目思路:首先定义一个unordered_map,key放a和b两数之和,value放a和b两数之......
  • 代码随想录算法训练营第八天| 151.翻转字符串里的单词
    151.翻转字符串里的单词文章链接:https://programmercarl.com/0151.翻转字符串里的单词.html#思路视频链接:https://www.bilibili.com/video/BV1uT41177fX/?vd_source=6cb513d59bf1f73f86d4225e9803d47b题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/classS......
  • PhpStrom2024.1永久激活及激活过程中出现的问题
    PhpStrom2024.1及激活工具下载激活工具:https://www.alipan.com/s/Aj5EEMxgLZCPhpStrom:https://www.alipan.com/s/cx69krtGXaw PhpStrom安装与激活1、下载并根据提示安装PhpStrom2、下载激活工具并将文件夹放在常用位置(文件夹名称与文件夹路径不可有中文)3、打开scripts文件......
  • IDEA 代码格式化快捷键设置 中文或者英文语言模式下的IDEA
    在IntelliJIDEA(Windows)中修改代码格式化的快捷键步骤如下:打开IntelliJIDEA,然后点击顶部菜单栏中的File>Settings(设置)在设置窗口中,依次展开Keymap(按键映射)部分。在Keymap页面,你可以看到一个搜索框,输入“FormatCode”(代码格式)来快速定位到格式化代码......
  • Linux--审计工具Audit
    一、简介Linux审计系统提供了一种方式来跟踪系统上与安全相关的信息,根据预配置的规则,审计会生成日志条目,来尽可能多地记录系统上所发生的事件的相关信息。对于关键任务环境而言至关重要,可用来确定安全策略的违反者及其所执行的操作,便于在发生网络入侵等安全事件时,能够为追踪溯源......
  • php网站登录密码忘记了的三种解决办法
    如果你忘记了PHP网站的登录密码,可以通过以下三种方法来解决这个问题:1.通过数据库直接修改密码步骤如下:登录数据库:使用命令行工具(如 mysql 或 phpMyAdmin)登录到数据库。例如,通过命令行登录MySQL数据库:mysql-uroot-p选择对应的数据库:选择包含用户表......
  • phpinfo函数的作用
    phpinfo() 函数是PHP中的一个内置函数,主要用于显示关于PHP配置的各种信息。这些信息包括PHP版本、已加载的扩展、环境变量、HTTP头信息、目录路径设置等。这对于调试和了解当前PHP运行环境非常有用。作用包括:显示PHP的版本号。列出所有已启用的扩展及其版本信息......
  • 网站数据库配置文件config.php
    在开发Web应用时,通常会有一个专门用于配置数据库连接信息的文件,例如config.php。这个文件主要用于存储数据库的连接参数,以便在整个应用程序中重用。下面是一个简单的config.php示例,展示了如何定义数据库连接的基本信息:<?php//数据库配置文件//数据库类型define('DB_TYPE......