当前位置:   article > 正文

RCE和php文件上传

RCE和php文件上传

一、远程命令执行(RCE)

RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中,如PHP。

RCE漏洞原理 PHP中的一些函数可以执行命令或代码,但如果对这些函数的输入未加限制,就可能引发RCE漏洞。

        1.执行PHP代码的函数 以下函数可能存在RCE风险:

  1. $code =$_GET['code'];
  2. eval($code); // 动态执行PHP代码
  3. assert($code); // 断言执行PHP代码
  4. echo preg_replace('/test/e',$code,'hello test'); // 正则表达式执行PHP代码
  1. 执行系统命令的函数 以下函数可用于执行系统命令:
  1. $cmd =$_GET['cmd'];
  2. echo `$cmd`; // 反引号执行系统命令
  3. echo system($cmd); // system函数执行系统命令
  4. echo shell_exec($cmd); // shell_exec函数执行系统命令

示例请求:http://192.168.10.111/day03/rcmd.php?cmd=whoami

  1. 命令链接符的使用
  • commend && 2commend:逻辑与操作,前命令失败则不执行后命令。
  • 1commend & 2commend:后台执行,两个命令同时执行。
  • 1commend || 2commend:逻辑或操作,前命令成功则不执行后命令。
  • 1commend | 2commend:管道操作,将前命令的输出作为后命令的输入。
  1. RCE漏洞防御措施
  • 避免使用危险的函数。
  • 对用户输入进行严格的过滤和验证。

二、文件上传漏洞

  1. 文件上传漏洞概述 文件上传漏洞允许攻击者上传可执行文件到服务器,进而执行恶意代码。

  2. 文件上传漏洞利用 以下是基于upload-lab的学习笔记,展示了文件上传漏洞的常见利用方法:

(1)前端检查绕过 直接删除表单的onsubmit事件。

(2)MIME类型验证绕过 通过抓包工具修改上传文件的Content-Type。

(3)黑名单限制绕过 使用黑名单中未列出的文件后缀名,如.php3、.phtml等。

(4)全面黑名单绕过 上传.htaccess文件,修改服务器配置,使所有文件按PHP执行。

SetHandler application/x-httpd-php

(5)大小写绕过 利用服务器对大小写不敏感的特性,上传不同大小写的文件后缀。

(6)空格和点绕过 在文件名末尾添加空格或点,利用Windows自动去除的特性绕过验证。

  1. 文件上传漏洞防御
  • 使用白名单限制可上传的文件类型。
  • 对上传文件进行重命名,避免使用用户提供的文件名。
  • 对上传文件进行内容检查,确保其安全。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/931937
推荐阅读
相关标签
  

闽ICP备14008679号