通过从另一个主机发送PHP变量进行黑客攻击
通过从另一个主机发送PHP变量,是否有可能入侵网站?例如: 我有一个文件secure_content.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
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服务器处理脚本。 服务器不会将整个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。