这些痕迹是什么类型的安全注入,SQL、javascript 或其他?

信息安全 网络服务器 注射
2021-08-25 13:38:17

我试图保护所有进入服务器的信息,以确保没有 SQL 注入。

但是,我的服务器上有一些名称奇怪的新文件夹。我们的在线服务之一是通过某些输入,使用该名称创建目录,但仅在使用mysql_real_escape_string.

这些是我服务器上现在的文件夹名称:

<script>alert(42873)<

\'\"

%27

!(()

\r\n SomeCustomInjectedHeader:injected_by_wvs

\0dir\0

&dir

�\'

黑客试图进行什么样的注入?它们是 SQL 注入所期望的那种东西吗?还是javascript注入?

这是我用来创建文件夹的代码:

$path = "designs_".$design->getDesignerType()."/product".$design->getProductID()."/template".$design->getTemplateID()."/".$design->getID();
if(!is_dir($path))
    { mkdir($path, 0777, TRUE); }

我实际上是在使用exec,但不是创建文件夹。我将它用于其他事情,例如使用二进制源文件创建 PDF,如下所示:

 exec("prince /home/zeejfl6/public_html/printshop/".$filename.".html /home/zeejfl6/public_html/printshop/".$filename.".pdf");

并制作图像,如下所示:

$cmdi = "convert -density 300 -resize $io /home/zeejfl6/public_html/printshop/$filename.pdf  -quality 100 -flatten /home/zeejfl6/public_html/printshop/$filename.jpg";
exec ($cmdi);
2个回答

injection_by_wvs 由 Acunetix Web (w) Vulnerability (v) Scanner (s) ( wvs ) 使用。这是一个 Cross (x) Site (s) Script (s) - XSS - 它被插入到一个参数中(通常是一个表单:名称、日期、时间、年龄等)。基于 SQL 的注入将包含 SQL 语句的一部分(SELECT * FROM、INSERT INTO *),这些语句大部分时间都是可见的,但可以被混淆。这就回答了这是一种什么样的攻击。

您可能需要考虑使用escapeshellcmd()与 exec() 来防止有人尝试插入字符。我不同意 HamZa DzCyber​​DeV 关于 exec() 的说法。如果您花时间对输入进行清理,那就没那么严重了。

让我们一步一步解释黑客脚本小子试图做什么:

  1. <script>alert(42873)<: 这是XSS 攻击
  2. \'\": 测试您的网站是否易受SQL 注入攻击。
  3. %27: 这是 urlencoded,所以解码它给出',这与(2)中的意图相同。
  4. !((): 同(2)。
  5. \r\n SomeCustomInjectedHeader:injected_by_wvs: 不知道这里发生了什么。
  6. \0dir\0:\0意思是NULL
  7. &dir : 废话,除非你正在使用它。
  8. �\': 同(2)。

评论:

  • 您有关创建目录的代码是动态创建的,这对您来说很容易,但可能会导致一些安全问题。最好的办法是将客户端提供的目录名及其散列版本存储在数据库中。散列版本,您将使用它来创建目录。所以你将使用你的数据库来“翻译”输入/输出。

  • 关于mkdir():您正在使用777,而我认为您的意思是0777,请注意存在巨大差异,因为它不是decimal但是octal看看chmod()这个关于可能存在的安全漏洞的答案。

  • 关于:如果不是高度控制和安全,exec()这是一个巨大的安全漏洞。$filename这意味着如果用户将他的文件命名为类似的名称";rm -rf ../../../../,则意味着您可以告别您的操作系统,当然这只有在 PHP 具有足够的权限时才有可能。

建议:

正如munkeyoto所说,这种攻击是使用自动黑客工具执行的,我还看到您最近多次发布有关您正在经历的黑客攻击的帖子。我强烈建议您聘请专业人士来审核和测试您的网站(甚至提高其安全性)。如果您不能或不想这样做,请了解有关安全性和最佳实践的更多信息。有大量的教程、书籍和课程可供选择。对我们(和你)来说,你每次都发布一次简单的黑客攻击,这对我们(和你)来说有点累,正如我上面提到的那样,很容易避免这种攻击。