全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

文件上传如何触发php代码执行_文件上传触发php代码执行方法【注意】

上传文件被当作PHP解析可致远程代码执行,常见路径有五:一、绕过后缀检查上传含代码的伪装文件;二、Apache下用.htaccess强制解析;三、Nginx CVE-2013-4547路径解析漏洞;四、PHAR反序列化利用;五、IIS短文件名绕过。

如果上传的文件被服务器当作PHP脚本解析并执行,则可能造成远程代码执行风险。以下是实现该行为的常见技术路径:

一、上传含PHP代码的文件并绕过扩展名检查

部分应用仅校验文件后缀名,未验证文件内容或MIME类型,攻击者可将PHP代码保存为看似合法的图片文件(如.jpg),再通过服务端配置缺陷触发解析。

1、使用文本编辑器创建文件,写入,保存为shell.jpg

2、在上传表单中选择该文件,同时使用抓包工具(如Burp Suite)拦截请求。

3、修改HTTP请求中Content-Disposition字段的filename值,将shell.jpg改为shell.php

4、若服务端仅依赖前端或简单后缀白名单,该请求可能成功上传并生成可访问的PHP文件。

二、利用Apache解析漏洞(.htaccess覆盖)

当目标使用Apache且允许用户上传.htaccess文件时,可通过自定义规则强制特定扩展名按PHP模块解析。

1、构造内容为AddType application/x-httpd-php .jpg.htaccess文件。

2、上传该文件至Web可写目录(如/uploads/)。

3、上传另一张含PHP代码的图片文件,命名为test.jpg

4、访问http://target.com/uploads/test.jpgApache将按PHP方式解析并执行其中代码

三、利用Nginx文件名逻辑解析漏洞(CVE-2013-4547)

Nginx在处理带空格和斜杠的文件路径时存在解析歧义,可使非PHP文件被当作PHP执行。

1、准备含PHP代码的文件,命名为shell.jpg

2、上传后,构造URL访问:http://target.com/uploads/shell.jpg%20/1.php

3、Nginx将忽略%20/1.php部分,但将shell.jpg交由后端PHP-FPM处理。

4、PHP-FPM默认不校验原始请求路径,直接执行shell.jpg中的PHP代码

四、上传用户可控的PHAR文件并触发反序列化

当应用存在未过滤的反序列化点且启用phar://协议时,上传恶意PHAR可间接执行代码。

1、使用PHP构建PHAR文件,在stub中嵌入__HALT_COMPILER();,并在meta-data中注入恶意反序列化对象。

2、设置PHAR文件后缀为.jpg,并禁用签名以绕过校验。

3、上传该文件至服务器,获取其可访问路径(如/uploads/malicious.jpg)。

4、在存在unserialize()调用的功能点中,传入phar://./uploads/malicious.jpg作为参数。

5、PHP将解析PHAR并触发反序列化链中的__destruct()等魔术方法

五、利用IIS短文件名特性结合解析顺序

IIS在启用短文件名功能时,会为长文件名生成8.3格式别名,配合特定解析顺序可导致PHP文件被误识别为静态资源后仍被解析。

1、上传shell.php,确认其短文件名为shell~1.php

2、尝试访问http://target.com/uploads/shell~1.php,观察是否返回PHP执行结果。

3、若IIS配置将.php映射至PHP-CGI且未禁用短名,该请求将直接交由PHP引擎处理。

4、即使上传目录无直接执行权限,短文件名仍可能绕过路径级限制


# php  # 前端  # apache  # nginx  # app  # access  # 工具  # iis  # 后端  # php解析  # php脚本  # CGI  # 对象  # http 


相关文章: 如何通过FTP空间快速搭建安全高效网站?  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  建站之星代理平台如何选择最佳方案?  在线制作视频网站免费,都有哪些好的动漫网站?  javascript基本数据类型及类型检测常用方法小结  公司门户网站制作流程,华为官网怎么做?  如何通过VPS搭建网站快速盈利?  如何配置IIS站点权限与局域网访问?  IOS倒计时设置UIButton标题title的抖动问题  建站之星Pro快速搭建教程:模板选择与功能配置指南  成都网站制作公司哪家好,四川省职工服务网是做什么用?  西安大型网站制作公司,西安招聘网站最好的是哪个?  宝塔面板如何快速创建新站点?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  教程网站设计制作软件,怎么创建自己的一个网站?  如何做网站制作流程,*游戏网站怎么搭建?  C#如何使用XPathNavigator高效查询XML  在线教育网站制作平台,山西立德教育官网?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在宝塔面板中创建新站点?  如何通过网站建站时间优化SEO与用户体验?  如何彻底删除建站之星生成的Banner?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  如何快速登录WAP自助建站平台?  家庭服务器如何搭建个人网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  昆明高端网站制作公司,昆明公租房申请网上登录入口?  制作网站的基本流程,设计网站的软件是什么?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何选择域名并搭建高效网站?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何用已有域名快速搭建网站?  建站之星备案是否影响网站上线时间?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何选择适合PHP云建站的开源框架?  如何在云指建站中生成FTP站点?  建站之星如何快速解决建站难题?  如何在云虚拟主机上快速搭建个人网站?  如何快速查询网站的真实建站时间?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  动图在线制作网站有哪些,滑动动图图集怎么做?  如何高效配置香港服务器实现快速建站?  详解jQuery停止动画——stop()方法的使用  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何获取开源自助建站系统免费下载链接? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。