我们都知道之前腾讯与京东建立了战略合作关系,很多人都会选择京东来购买一些电器等。我发现某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,这就是典型的中病毒了。
<div>我们都知道之前腾讯与京东建立了战略合作关系,很多人都会选择京东来购买一些电器等。我发现某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,这就是典型的中病毒了。
竟然有这样的事,一定要把木马大卸八块。 原因排查 首先在重现的情况下抓包,京东官网确实返回了一段JavaScript让浏览器跳转到了yiqifa .com。 服务器返回的代码导致跳转,基本可以排除本地木马,推测是网络或者服务器的问题。根据笔者的经验,这种情况很大可能是链路上的流量劫持攻击。当然也不能排除京东服务器被黑的情况。 继续排查。应用层已经不行了,我们要用Wireshark抓网络层的包。 从Wireshark结果可以看到,网络上出现了两个京东的HTTP响应。第一个先到,所以浏览器执行里面的JavaScript代码转到了yiqifa.com;第二个HTTP响应由于晚到,被系统忽略(Wireshark识别为out-of-order)。 两个京东的HTTP响应包,必然一真一假。快揭示真相了。 再来看看两个HTTP响应的IP头。 第一个包TTL值是252,第二个包TTL值是56,而之前TCP三次握手时京东服务器的TTL值是56,故可以判断先到的包是伪造的,真的包晚到而被系统忽略。 至此,确认是链路上的劫持。 攻击方式 继续分析伪造的数据包。 伪造包的TTL值是252,也就是说它的原始TTL值应该是255(大于252的系统默认TTL值只能是255了,一般不会修改),也就表明攻击者的设备离我隔了3个路由;而正常的京东网站的HTTP响应TTL值是56,隔了8个路由。物理上假的设备离我近,所以伪造的HTTP响应会先到——比较有意思的是,笔者实际监测时候发现也有伪造包晚到导致劫持失败的情况。 推测是一个旁路设备侦听所有的数据包,发现请求京东首页的HTTP请求就立即返回一个定制好的HTTP响应。