我想现在,如果我遇到任何类型的攻击,应该采取什么样的安全措施。
我在服务器日志中得到了这个:
“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“
你能帮我解释一下它能做什么吗?我应该担心吗?任何其他信息将不胜感激。
答案 0 :(得分:1)
取决于以下内容:
index.php
(或您的/
(根)处理程序)
awstats.pl
和
site.php
是
这些是相当常见的SQL注入(和其他)攻击,可能(或可能不会)危害数据库中的数据或服务器上的文件。
这取决于您的脚本如何处理此输入。
答案 1 :(得分:1)
它似乎是一次未遂攻击,是的。根据您的应用程序,很难告诉您应该做什么,因为我们不知道您已经做了什么。
但有一点可以肯定,始终验证您的用户输入。假设您在应用程序中使用GET
变量,请注意以下几点:
$_GET['a']
应包含的内容,在处理之前始终确保 包含该内容(并且仅包含该内容)。这包括确保它是一个数字(is_numeric
),或者它与特定模式(正则表达式),长度或其他一些预定义标准相匹配。$_GET['file']
- 如果您有一个基于$_GET['file']
提供文件的脚本,请确保您只在当前目录中包含文件。这意味着,禁止斜杠/
和dotdot的..
。eval()
或执行任何其他用户输入,您似乎很安全。答案 2 :(得分:0)
如果您有不安全的代码,请务必担心,例如eval()
和非静态代码(include $name;
)。始终避免使用那些编码风格。
如果服务器上的软件已过时,您也应该担心。