通过从另一个主机发送PHP变量进行黑客攻击

通过从另一个主机发送PHP变量进行黑客攻击,php,security,include,require,Php,Security,Include,Require,通过从另一个主机发送PHP变量,是否有可能入侵网站?例如: 我有一个文件secure_content.php: <?php if($fgmembersite->Login()) //placed at the top to avoid the warning: headers already sent { $login = TRUE; } //intentionally removed {else $login === FALSE}

通过从另一个主机发送PHP变量,是否有可能入侵网站?例如:

我有一个文件secure_content.php:

<?php
    if($fgmembersite->Login())  //placed at the top to avoid the warning: headers already sent
     {
     $login = TRUE;
     }  
   //intentionally removed {else $login === FALSE}

   // echo some  contents

    if ($login === TRUE) 
    {
    //echo secure data
    }

    else
    {
    echo "You are not authorised to view this content";
    }
?>

攻击者在其Web服务器中有一个名为hack.php的文件

<?php
$login = TRUE;
require_once "http://mywebsite.com/secure_content.php";
?>

  • 黑客是否有可能查看安全内容
  • 如何避免使用来自其他Web服务器的include/require处理我们的脚本

  • 不,无法从其他Web服务器处理脚本。 服务器不会将整个PHP源代码提供给远程服务器,而是提供运行脚本的输出。 不用担心


    您无法避免使用来自其他Web服务器的include来处理脚本,因为这首先是不可能的。所以没有什么可以阻止的。

    不,不可能从其他Web服务器处理脚本。 服务器不会将整个PHP源代码提供给远程服务器,而是提供运行脚本的输出。 不用担心


    您无法避免使用来自其他Web服务器的include来处理脚本,因为这首先是不可能的。所以没有什么可以阻止的。

    正如丹尼斯所说,尽管我想从管理网站的个人经验中添加一些有趣的漏洞

    在编辑文件时,人们通常会将php脚本重命名为secure_content.php.back之类的名称——害怕它。然后,攻击者可以下载您的PHP脚本访问(
    secure\u content.PHP.back
    )。拥有源代码不足以劫持变量,但已经是一个漏洞。如果您的
    secure\u content.php.back
    有一些配置变量,如
    $database\u password


    此外,如果您要从web服务器卸载PHP,Apache(或其他什么)将以文本文件的形式为您的secure_content.PHP提供服务,这也是一个风险。当您要修补PHP引擎时,请记住。

    正如Denis所说,尽管我想从管理网站的个人经验中添加一些有趣的漏洞

    在编辑文件时,人们通常会将php脚本重命名为secure_content.php.back之类的名称——害怕它。然后,攻击者可以下载您的PHP脚本访问(
    secure\u content.PHP.back
    )。拥有源代码不足以劫持变量,但已经是一个漏洞。如果您的
    secure\u content.php.back
    有一些配置变量,如
    $database\u password


    此外,如果您要从web服务器卸载PHP,Apache(或其他什么)将以文本文件的形式为您的secure_content.PHP提供服务,这也是一个风险。在修补PHP引擎时请记住。

    否。服务器将运行脚本,然后将结果发送到服务器

    如果启用了
    register\u globals
    ,则在旧版本的PHP中也会出现类似的情况。这将允许某人呼叫
    http://mywebsite.com/secure_content.php?login=true


    这将导致在脚本开始时将
    $login
    设置为true。谢天谢地,
    register\u globals
    现在默认关闭,在5.3中被弃用,在5.4中被删除。请参阅。

    否。您的服务器将运行脚本,然后将结果发送到服务器

    如果启用了
    register\u globals
    ,则在旧版本的PHP中也会出现类似的情况。这将允许某人呼叫
    http://mywebsite.com/secure_content.php?login=true


    这将导致在脚本开始时将
    $login
    设置为true。谢天谢地,
    register\u globals
    现在默认关闭,在5.3中被弃用,在5.4中被删除。请参阅。

    否!除非您使用
    eval
    功能!它不应该是
    $login=TRUE
    而不是
    $login===TRUE?@MatteoTassinari你是对的。不!除非您使用
    eval
    功能!它不应该是
    $login=TRUE
    而不是
    $login===TRUE?@MatteoTassinari你是对的。什么是删除服务器?这是一个拼写错误,意思是“远程”。我的第二个问题呢?什么是删除服务器?这是一个拼写错误,意思是“远程”。我的第二个问题呢?要防止第一个案例-将这一行添加到。htaccess:AddType application/x-httpd-php。back要防止第一个案例-将这一行添加到。htaccess:AddType application/x-httpd-php。back我的第二个问题呢?如果服务器设置正确
    。php
    文件将始终在你的服务器。请求您的页面的其他服务器与web浏览器之间没有区别。目前,其他服务器无法处理您的PHP。那么我的第二个问题呢?如果您的服务器设置正确
    。PHP
    文件将始终在您的服务器上处理。请求您的页面的其他服务器与web浏览器之间没有区别。目前,其他服务器无法处理您的PHP。