我想现在,如果我遇到任何类型的攻击,应该采取什么样的安全措施。

我在服务器日志中得到了这个:

“GET /site.php?a={%24{passthru%28chr%28105%29.chr%28100%29%29}} HTTP / 1.1”404 214“ - ”“Mozilla / 5.0(Windows NT 6.1; WOW64; rv:8.0)Gecko / 20100101 Firefox / 8.0

/?file =../../../../../../proc/self/environ%00 HTTP / 1.1“400 227” - “”“

/stats/awstats.pl configdir = |回声;回波%20YYYAAZ; UNAME;编号;回声%20YYY;回声| HTTP / 1.1“404 222” - “”Mozilla / 5.0(Windows NT 6.1; WOW64; rv:8.0)Gecko / 20100101 Firefox / 8.0“

你能帮我解释一下它能做什么吗? 我应该担心吗? 任何其他信息将不胜感激。

===============>>#1 票数:1

这取决于以下内容:

index.php (或你的/ (root)处理程序)
awstats.pl
site.php

是。

这些是相当常见的SQL注入(和其他)攻击,可能(或可能不)破坏数据库中的数据或服务器上的文件。

这取决于脚本如何处理此输入

===============>>#2 票数:1 已采纳

它似乎是一次未遂攻击,是的。 根据您的应用程序,很难告诉您应该做什么,因为我们不知道您已经完成了什么。

但有一点是肯定的, 始终验证您的用户输入。 假设您在应用程序中使用GET变量,请记住以下几点

  • 根据什么$_GET['a']应该包含,始终确保在处理之前包含(且只有)。 这包括确保它是一个数字( is_numeric )或它匹配特定模式(正则表达式),长度或一些其他预定义标准。
  • 关于$_GET['file'] - 如果您有一个基于$_GET['file']提供文件的脚本,请确保您只在当前目录中包含文件。 这意味着,禁止斜线/和dotdot的..
  • 最后,再次验证您的输入,但假设您不使用eval()或执行任何其他用户输入,您似乎是安全的。

===============>>#3 票数:0

如果你有不安全的代码,你应该担心,例如eval()和非静态包含( include $name; )。 总是避免那些编码风格。

如果您的服务器上的软件已过时,您还应该担心。

  ask by Christine translate from so

未解决问题?本站智能推荐: