首页 > 编程语言 >【PHP代码审计】命令执行

【PHP代码审计】命令执行

时间:2024-10-08 14:01:45浏览次数:5  
标签:审计 PHP 函数 代码 代码执行 字符串 执行 远程

Remote Code Execute 远程代码执行

原理:

应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞。

函数

eval() //把字符串作为PHP代码执行
assert() //检查一个断言是否为 FALSE,可用来执行代码
preg_replace() //执行一个正则表达式的搜索和替换
call_user_func() //把第一个参数作为回调函数调用
call_user_func_array() //调用回调函数,并把一个数组参数作为回调函数的参数
array_map() //为数组的每个元素应用回调函数
$a($b) //动态函数

利用

php中可以进行远程代码执行的函数有很多,也常常被一些webshell来做免杀利用。如果我们 的输入可以走到以下的函数作为参数,那么就有可能有远程代码执行。

Remote Command Execte远程命令执行

用户通过浏览器或者远程攻击提交执行命令,由于服务器端,没有针对执行函数做过滤,就执行了恶意命令。

函数

exec // 执行一个外部程序
passthru // 执行外部程序并且显示原始输出
proc_open // 执行一个命令,并且打开用来输入/输出的文件指针。
shell_exec // 通过 shell 执行命令并将完整的输出以字符串的方式返回
system // 执行外部程序,并且显示输出

审计

通过审计工具,查找具体函数然后具体分析

标签:审计,PHP,函数,代码,代码执行,字符串,执行,远程
From: https://www.cnblogs.com/o-O-oO/p/18451505

相关文章

  • GUI图形界面 无代码开发 原理 - 属性标识链 | uiotos致敬amis、nodered、appsmith、co
    低代码饱受争议。也有例外:后端NodeRed,前端Amis。整体还是诟病为主:简单业务可以,复杂的是扯淡,不论前后端。这是一贯的认知。在GUI方面,UIOTOS发明的嵌套技术,为复杂前端的无代码开发,开辟了一条新的思路。往期文章:可视化拖拉拽?过时了!组态零代码,不能做复杂前端?嵌套原理一复杂交互......
  • 【PHP代码审计】文件包含漏洞
    文件包含原理文件包含是因为服务器端某些程序对用户提交参数过滤不当造成的该程序一般具有以读取方式输出文件内容或者下载文件,前者也可以叫做任意文件读取,两者本质上是一样的。通常在以下情况下存在该漏洞。文件包含函数include()include_once()require()require_once()fo......
  • GUI无代码小示例 - 工作流连线实现0/1连续翻转
    效果如下所示,连续点击按钮,输出0、1、0、1...。  步骤新建页面,拖入组件拖入3个组件:数学计算、输入框、按钮。如下所示: 连线和配置按钮点击→函数执行 1减去输入,作为函数输出这样,当首次执行时,默认操作数1将减去输入的1,输出0。 函数输出......
  • 【PHP代码审计】危险函数
    什么是危险函数?函数设计出来就是让人使用的,之所以危险,是因为其功能过于强大,开发人员特别是刚从业的人员很少会完整阅读完整个文档,再或者是没有意识到当给这些函数传递一些非常规的,外部可控的参数会带来什么影响。$GET//数组,存放着所有通过URL参数传递的数$POST//数组,......
  • 【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”(代码格式)来快速定位到格式化代码......