自2014年10月20日以来,我们的日志中出现了一些奇怪的请求。他们每天增加到几十个,所以虽然不是一个大问题,但找到原因仍然很有趣。
早些时候:
REQUEST[/en/undefinedsf_main.jsp?clientVersion=null&dlsource=null&CTID=null&userId=userIdFail&statsReporter=false] REFERER[http://colnect.com/en/coins]
REQUEST[/fr/undefined/GoogleExtension/deals.html?url=http://colnect.com&subid=STERKLY&appName=HypeNet&pos=2&frameId=buaovbluurbavptkwyaybzjrqweypsbavwrviv] REFERER[http://colnect.com/fr]
REQUEST[/br/stamps/undefined49507173c45043eba6dfb9da540e52de&chnl=slmbBRex&evt=DailyPing&prd=vbates&seg=1&ext=1&rnd=65983fb77b62e25cc2a8ef15af18273d] REFERER[http://colnect.com/br/stamps/countries]
目前的一些:
REQ[/ru/collectors/collector/undefined] REF[http://colnect.com/ru/collectors/collector/jokitsos]
REQ[/th/collectors/collector/undefined] REF[http://colnect.com/th/collectors/collector/VRABEC]
REQUEST[/en/account/undefined] REFERER[http://colnect.com/en/account/request_password]
REQUEST[/pt/stamps/undefined] REFERER[http://colnect.com/pt/stamps/years]
有些请求是登录成员,有些则不是。
我猜他们浏览器上的一些Javascript试图通过一些未初始化的变量调用url,因此" undefined"。
原因可能类似于Odd requests to non-existing pages that all include "6_S3_"(可能是恶意软件),但我想知道这可能是另一个原因。
我确实怀疑它是我们客户端Javascript的一个错误,因为每天大约有一百万次页面浏览量会产生几十个这样的请求。
有什么想法吗?是值得追求的吗?
答案 0 :(得分:6)
这是一个很大的问题,但它并非来自你。
使用 self-signed root certificate 进行 Javascript Injection 攻击(客户机恶意软件)。
具体而言,sf_main.html
和deals.html
已与 Superfish 相关联,而 reports 最近一直在联想。由于联想一直在推动其新的PC系列,最近的攻击已经爆发了 Man-in-the-middle 。
这些 claims 攻击首先是劫持客户端的请求,然后注入 HTML 和 Javascript 。
有这么多undefined
符号的原因是因为 Superfish ,对它的名字来说是真的,它可以利用插件,扩展和库来利用它们的预期名称,代币和路径。这是蛮力 XSS 。
小。不多。
由于请求在客户端计算机上被劫持并且被http request
劫持,您将不会知道其中的区别。您可以尝试“捕获”某些敌对的“指标”,但现在您正在进行反恶意软件的工作。
联想{{3}}
SuperFish完全禁用了服务器端交互(因为 1月)关于所有联想产品,以便软件产品没有 更长时间的活动,有效地禁用了所有产品的SuperFish 市场
虽然我相信在西方世界有严重市场利益的中国联想的诚意,但我不相信中国恶意软件公司 Superfish 这个词。
对您而言,这些攻击不是您的客户
除非您在大型银行或热门社交网站工作,否则像 Superfish 这样的恶意软件极不可能专门针对您。您的客户的银行和社交网络帐户存在风险,但不是因为您做了或可以采取任何措施来阻止它。
与往常一样,客户端钓鱼攻击的治疗方法是良好的客户端保护。
答案 1 :(得分:4)
有什么想法吗?
这里似乎有两种不同的选择:
要区分这两者,您需要设置更具体的日志记录。例如,将用户代理添加到包含字符串undefined
的任何日志行将回答此问题。如果您的代码导致问题,您还希望记录referer
标题,因为它会在哪个页面上显示生成错误的网址。
识别问题的另一种方法是,如果您的网站上运行了分析解决方案,例如Google Analytics,则可以非常轻松地将报告限制为仅包含url
的{{1}}。如果没有此类请求,您可以断定它必须是机器人(因为它不会导致客户端分析代码运行),否则它会提供所有信息以识别导致此问题的位置。
最后,最好包含一个javascript错误日志记录解决方案(最简单的形式是undefined
处理程序,其中包含对window.onerror
的ajax请求。如果您的代码正在生成\log.something
很可能也会触发一些错误。
值得追求吗?
如果用户实际上被提供无效页面,那么是的,这肯定是需要调查的。