gpt4 book ai didi

mysql - Apache 日志文件中的奇怪引荐来源网址 : empty string and what looks like MySQL code

转载 作者:行者123 更新时间:2023-11-29 02:10:41 25 4
gpt4 key购买 nike

我已将我的日志文件读入 R,当我查看 referer 时,有一些奇怪的条目:

> logs <- read.table("logfile")
> referer <- data.frame(table(logs$referer))
> head(referer, 2)
Var1 Freq
1 157
2 - 250290

Apache 使用破折号 (-) 来表示缺少的引荐来源网址。那是第 2 行。那么第 1 行中的空字符串 (``) 是什么意思?在我看来,只有当 Apache“忘记”将引用者写入日志文件时才会发生这种情况。

这是 157 个带有空 referer 字符串的条目之一(我已经匿名化了客户端 ip 和我的网站 URL):

173.244.xxx.xxx - - [17/Apr/2018:08:07:46 +0200] "GET /feeds/atom.xml HTTP/1.1" 200 18820 www.my-website.com "" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36; +collection@infegy.com" "-"

但最神秘的 referer 是这样的:

554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:"num";s:280:"*/ union select 1,0x272f2a,3,4,5,6,7,8,0x7b24617364275d3 ...

我把最后的字符串剪掉了(它持续了相当长的时间),因为我不知道它是否包含敏感信息。我有大约 20 次这样的 referer 访问,都来自同一个客户端 ip,其中大部分请求的资源在我的服务器上不存在,例如 //user.php//cm.php.

在我看来,这些至少部分是 MySQL 查询。 a:2:{s:3:"num";s:459:" 是序列化数组的开头。我使用这种格式将来自 Web 表单的一些数据存储在 MySQL 数据库中。但是这个处理发生在服务器端并且永远不会发送到用户的浏览器。MySQL 查询如何最终成为引用者?我可以理解有人可能会尝试将 MySQL 代码输入到网络表单中,但这并不构成那部分推荐人的。

任何解释都会很好。

最佳答案

这是针对内部基础设施的攻击。许多组织使用集中式系统来获取日志,然后使用报告基础设施来支持查询日志。开发人员在设计安全系统方面相当糟糕,Referer 字段中的 SQL 正试图利用这一点。

攻击者还可以尝试在 Referer 字段中存储片段,然后将其用于其他类型的攻击。

只要您没有使用制作不当的软件来查询日志,就应该没问题。

这个 — https://resources.infosecinstitute.com/sql-injection-http-headers/ — 提供了一些进一步的信息。

此外,如评论中所述,请考虑用户 webreadr读取 Web 服务器日志文件。

而且,经过进一步审查,这似乎是攻击者团体发起的一场事件,他们试图破坏“Ecshop”内容管理系统 (https://github.com/SecWiki/CMS-Hunter/tree/master/Ecshop/ecshop2.x_code_execute)。如果您正在运行,您可能需要对您的服务器进行三次检查。

关于mysql - Apache 日志文件中的奇怪引荐来源网址 : empty string and what looks like MySQL code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53585075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com