代码之家  ›  专栏  ›  技术社区  ›  Eddie

是否可以通过SQL注入使用MySQL编写文件?

  •  1
  • Eddie  · 技术社区  · 16 年前

    长话短说,我们在服务器上找到了一些推广处方药的文件,但我们没有放在那里。Windows服务器有非常老的应用程序,运行mysql 5.1.11。

    除了其他安全缺陷之外,SQL注入是否可以用于将文件写入服务器文件系统?我确信这些旧应用程序中的一些容易受到SQL注入攻击。我不认为这是可能的,但我似乎记得在某个地方读到了MySQL可以访问“命令行”并通过它写文件,尽管我找不到该信息的源。再说一遍,我的大脑可能在捉弄我。

    如果可能,是否有可以禁用的设置?

    另外,我也不想找到解决SQL注入漏洞的答案。虽然这显然需要做;我正在寻找一个短期的快速修复,它将防止恶意文件在修复SQL注入漏洞时神奇地再次出现。修复所有旧的应用程序需要很多时间。

    谢谢。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Colin Pickard    16 年前

    这是有可能的,尤其是在配置不小心的情况下。

    例如,有 SELECT ... INTO OUTFILE 'file_name'

    但这也更有可能是另一个安全问题。我会认真考虑快速将软件脱机,特别是如果数据库包含任何机密或私人信息

        2
  •  1
  •   longneck    16 年前

    科林·皮卡德表示,是的。

    但是,即使您不能更新您的应用程序,我怀疑它需要当前运行的权限。您需要检查登录到MySQL的用户,并将这些权限降到最低。特别是在这种情况下,如果应用程序不读/写存储在MySQL服务器上的文件,那么应该删除文件特权。

        3
  •  0
  •   David R Tribble    16 年前

    将应用程序目录的权限设置为Web帐户的只读可能有效。这假设您尚未在其中创建日志文件等文件。