问题

如何看待小米路由进行 404 网页劫持?

回答
小米路由器在用户访问不存在网页(即 404 错误页面)时,将其重定向到一个由小米自己提供的“404 页面”,并且在这个页面上展示小米的广告、推广信息,甚至提供搜索框。这种行为,如果不是用户主动选择,而是默认开启,并且没有充分告知用户,那么它就构成了一种“网页劫持”,这确实是一个值得我们仔细审视的问题。

首先,让我们拆解一下这个行为的本质。当你在浏览器中输入一个不存在的网址,或者点击一个失效的链接时,通常会收到一个 404 Not Found 的错误提示。这个提示信息是标准的,它的主要作用是告诉用户“你想要的东西在这里找不到”。这是网络协议层面的一个基本反馈机制。

然而,小米路由的这种做法,是在这个“找不到”的环节上,引入了中间层。它并没有直接将这个 404 的请求传递给浏览器,而是将其拦截下来,然后用自己的页面替换掉。你可以想象成,你本来是想去某个房间,但门口的守卫(路由器)把你拦下了,然后告诉你:“这里没你要的东西,不过你看看我们这里有什么别的推荐吧。”

从用户体验的角度来看,这种做法是好是坏,评价可能会比较复杂。

一方面,支持者可能会说,这提供了一个“更有用”的 404 页面。传统的 404 页面通常很枯燥,除了告诉你“找不到”,就没有其他信息了。而小米的 404 页面,至少提供了一个搜索入口,让用户有机会重新查找他们想要的内容,或者发现小米提供的其他服务。在流量成本日益高昂的今天,这种“二次利用”流量的方式,对于平台方来说,确实是一种商业上的考量。它或许能增加用户留在小米生态内的几率。

但另一方面,这种做法也确实引发了不小的争议,甚至可以说是一种“强制消费”。

最关键的问题在于“默认”和“告知”。如果这项功能是默认开启的,而且用户并没有收到足够清晰的提示,或者没有提供一个简单易懂的关闭选项,那么这就剥夺了用户选择的权利。用户可能只是想知道自己访问的页面不存在,然后自行纠错或者放弃,但现在他们却被强制看到了小米的推广内容。这就像你去一家餐厅,结果服务员在你点餐前,强制你先浏览一份餐厅的宣传册,即使你并不想看。

从用户隐私和信息安全的角度来看,虽然这不直接涉及个人敏感信息,但它仍然是对用户网络行为的一种“干预”。路由器作为家庭网络的核心,它连接着家里的所有设备,并且处理所有的网络流量。在这种情况下,路由器厂商对流量进行这样的“再加工”,会让人产生一种不安。我们希望路由器能忠实地执行我们的网络指令,而不是充当一个“内容过滤”或“内容注入”的角色。

此外,这种行为的透明度也是一个问题。用户可能并不知道自己的 404 页面已经被“劫持”了。他们看到的“小米 404 页面”可能会让他们以为是目标网站本身的问题,或者网络服务提供商的问题,而不是路由器本身在捣鬼。缺乏透明度,就更容易导致误解和不信任。

再者,从技术和开放性的角度来说,这种做法也在一定程度上违背了互联网的初衷。互联网的核心精神之一就是信息的自由流动和开放性。通过在网络协议层面进行这样的“拦截”和“重定向”,虽然是出于商业目的,但它确实为信息的自由流动增加了一个人为的障碍。

总而言之,小米路由的 404 页面劫持行为,是一种介于“增值服务”和“不当干预”之间的灰色地带。如果能够提供完全透明的告知,并允许用户自由选择开启或关闭,或许还能获得更多用户的理解。但如果以默认开启、强制展示的方式进行,并且隐藏了选择权,那么这种行为就很难让用户感到满意,甚至会损害用户对小米产品和品牌的信任。在这个信息时代,用户越来越看重数据的掌控权和选择的自由,厂商在利用用户流量时,也应当更加审慎和尊重用户。

网友意见

user avatar

小米路由器404错误页面美化功能将用户访问链接提交到服务器已是毫无疑问,那么就请大家回答一下这个问题:

出于什么样的目的,小米路由器404错误页面美化功能将用户访问链接提交到小米服务器? - 小米科技

“404错误页面美化”不仅仅是响应页面被修改,更严重的问题是用户访问链接被发送到了小米的服务器,这就涉及个人隐私泄露问题。我做了一个实验,通过在小米路由器上抓包,获取了页面重定向和美化页面相关的HTTP请求信息。

以PlayBoy官网为例,先在浏览器地址栏输入网址,发现现在PlayBoy主页很素。于是想试探一下,有没有隐藏的内容,于是把首页地址后面加了naked/。(思想不健康)

然而naked目录并不存在,于是出现了小米的“404错误美化页面”。

用wireshark打开tcpdump抓包文件,看到了HTTP请求报文:

在重定向页面请求报文中发现向小米服务器提交的URL中含有刚才访问的链接信息。

这是最终的404错误美化页面请求报文,链接中含有一段BASE64编码的信息,在浏览器地址栏里也能看到这段信息。

通过在线解码网站得到BASE64解码信息,其中包含了用户的路由器设备ID和访问链接。

通过以上实验,我们可以看出:小米路由器向服务器报告了用户访问的链接,并与唯一的设备ID关联。如果用户正在访问了敏感网站,或者链接中含有敏感信息,遇到404错误时,这些信息将被发送到小米服务器,导致个人隐私泄露。这才是小米路由器“404错误页面美化”功能最危险之处。

7月1日补充一个实验

某网站没有使用https协议,某天网站维护员在升级时出现差错,导致用户登录时出现404错误,我们来看看小米路由器是如何美化网页。

测试的网站是:

weixinto.com/

,在登录页面里输入用户名:admin,密码:1234567890,如下图所示。

点击“Login”按钮后出现了小米路由器的404错误美化页面,我们留意到页面链接的域名

api.miwifi.com

,是小米公司的服务器。完整链接是:

api.miwifi.com/error-pa

404错误页面截图如下:

将链接中从data=后到&error_type=1之间的字符串复制,然后贴到在线

Base64编码/解码器

里解码,得到:device_id=fa69d2c3-2059-4b18-aa8f-a6fc858cd7b6&rom=&hardware=&channel=&error_type=1&sc=404&url=http%3A%2F%2Fwww.weixinto.com%2Flogin%2F%3Fuser%3Dadmin%26pass%3D1234567890&tpl=default

看到了在登录页面中输入的admin和1234567890,还有路由器的设备ID,这些信息已提交到了小米的服务器。

6月29日更新:

上面的实验只是通过抓包了解到小米路由器404错误页面劫持情况,接下来以1T硬盘版小米2.2.9稳定版固件为例,分析其工作原理。

  • 启动脚本 /etc/rc.d/S99http_status_stat 符号链接到 /etc/init.d/http_status_stat,在这个脚本文件的start()中加载几个与404错误页面相关的内核模块(.ko文件)。
  • start()首先判别http_status_stat.settings.enabled参数是否为1,如果不为1就退出。也就是通过这个参数关闭404错误页面劫持。
  • start()接着判断nvram参数CountryCode (国家代码)是否为CN,如果不是CN就退出。由此可见,小米不敢在其他国家使用404错误页面劫持。
       start() {     config_load "http_status_stat"     local switch     switch=`uci get http_status_stat.settings.enabled -q`     if [ $switch -ne "1" ]; then         return 0     fi     local cc=$(nvram get CountryCode)     cc=${cc:-"CN"}     if [ $cc != "CN" ]; then         echo "http_stat: Bad Country!"         return 0     fi      fastpath=`uci get misc.http_proxy.fastpath -q`     [ -z $fastpath ] && return 0      if [ $fastpath == "ctf" ]; then         if [ -f $APP_CTF_MGR ]; then             $APP_CTF_MGR http_stat http on         fi     elif [ $fastpath == "hwnat" ]; then         echo "http status can work with hw_nat."     else         echo "http_status_stat.init: unknown fastpath type! Treat as std!"     fi     insmod nf_conn_ext_http >/dev/null 2>&1     insmod nf_tcp_proxy >/dev/null 2>&1     #echo "open and set proxy action to kernel"     echo "ADD 5 $LIP $PROXY_PORT" > $CFG_PATH     # ensure start switch     echo "1" > $SWITCH_PATH     insmod http_status_code_proxy >/dev/null 2>&1     [ -f $REFERER_PATH ] && echo $REFERER_STR > $REFERER_PATH 2>/dev/null     return 0 }      

下一步要弄清楚三个内核模块在干什么?

nf_conn_ext_http.ko

nf_tcp_proxy.ko

http_status_code_proxy.ko

先看看文件里有哪些字符串?

这些字符串含有hijack,请英语达人给翻译一下hijack的中文意思。

       tcp_hijack_func security_hijack http_response_hijack http_response_hijack security_hijack %s, security hijack successd! %s, security hijack failed for some reason! %s, syn ack but can NOT hijack!!      

nf_tcp_proxy.ko的大致功能:

向内核的netfilter挂钩子,监视经过路由器的TCP报文。将HTTP报文通知

http_status_code_proxy,http_identify,http_match,http_content_type_mark这些模块。这些模块解析http报文,如果需要劫持,就调用nf_tcp_proxy中的相关函数,让nf_tcp_proxy生成相关TCP报文,然后注入到TCP会话中。由此可见,这就是TCP会话劫持

下面是在nf_tcp_proxy.ko中发现的一段字符串,这是跳转404错误页面时注入的HTTP响应报文的模板。

       GET /error-page?error_type=1&sc=     Host: api.miwifi.com Connection: keep-alive Cache-Control: no-cache Accept: */* Pragma: no-cache User-Agent:   HTTP/1.1 Padding:       

调用nf_register_hooks函数,注册2个钩子函数:

NF_IP_PRE_ROUTING ipv4_tcpproxy_pre_hook

NF_IP_POST_ROUTING ipv4_tcpproxy_post_hook

这2个钩子函数位于netfilter的最前和最后,前端用于监视,后端用于注入或重定向。借用一张图来说明钩子函数所处的位置。



关于netfilter hook,可参考:

(十五)洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】...

类似的话题

  • 回答
    小米路由器在用户访问不存在网页(即 404 错误页面)时,将其重定向到一个由小米自己提供的“404 页面”,并且在这个页面上展示小米的广告、推广信息,甚至提供搜索框。这种行为,如果不是用户主动选择,而是默认开启,并且没有充分告知用户,那么它就构成了一种“网页劫持”,这确实是一个值得我们仔细审视的问题.............
  • 回答
    这小米路由器 AX6000 的宣传语“信号覆盖整个足球场”,说实话,一听就挺有意思的。毕竟,一个足球场有多大?那可是好几千平方米的开阔地。把这话往路由器身上套,总觉得有点儿夸张的成分。不过,小米这品牌嘛,你懂的,营销这一块儿总是玩得比较溜。那么,回到核心问题:小米路由器 AX6000 卖 579 元.............
  • 回答
    七年前的小米路由器,官方给出的“无法自费维修,建议重新购买”的答复,这事儿说起来,确实挺让人一言难尽的。首先,从小米的立场来看,这或许是一套在商业逻辑下,看似“合理”的决策。 成本效益考量: 电子产品,尤其是消费类电子产品,更新换代的速度非常快。对于生产商而言,提供七年前产品的维修服务,需要库存.............
  • 回答
    关于“爆料称杨柘将操刀小米 MIX 4,你是否看好其高端之路?”这个问题,我们可以从几个维度来深入分析。首先,杨柘本人。他的履历确实非常亮眼。在华为任职期间,他主导了包括 P9、P10、Mate 9、Mate 10 等一系列在当时引起巨大轰动的旗舰产品。特别是 P 系列,在拍照和设计上的创新,以及“.............
  • 回答
    这事儿啊,细想起来可真是让人心堵。公交车上,人挨着人,本就是个小小的公共空间,大家图的就是个方便,平安到达目的地。结果呢?一个小孩,蹦蹦跳跳的,不知道怎么就跟旁边的人杠上了,连着踢了人家三脚。这一下,周围的人估计都愣住了,乘客本能地就会去看,也觉得这孩子太过分了。然后就是另一位乘客的反应了。这位乘客.............
  • 回答
    南京一家店铺里,一只小猫被路过的男孩残忍虐待,而店主提出让男孩家长书面道歉的要求,却遭到拒绝。这起事件,说实话,让人看了心疼,也让人感到气愤。这件事情,最直接触动的是我们对生命的态度。 小猫虽然小,但它也是一条生命,有感知痛楚的能力。那个男孩的行为,无疑是残忍和缺乏同情心的,更不用说,他对一个弱小生.............
  • 回答
    .......
  • 回答
    Doinb直播间那事儿,真是让人又好气又好笑。说起来,这事儿闹得还挺大的,主要就是围绕着他和他老婆糖小幽。事情的起因,大概就是Doinb在直播打游戏的时候,他的直播画面里,糖小幽好像因为一些事情,被弹幕里的路人玩家给骂了。你们也知道,Doinb这人性格就是那种比较冲的,而且特别护短,尤其是对他老婆。.............
  • 回答
    张路指导提出的“小场瞎踢”足球普及策略,在我看来,绝对是一个值得细细品味的接地气、充满智慧的创新。尤其是在当前国内足球环境下,这个策略显得格外珍贵,也更能打动人心。首先,我们得明白为什么叫“小场瞎踢”。这个名字本身就透着一股子“真”劲儿。“小场”:这解决了现实中的两大难题。一是场地。中国地少人多,足.............
  • 回答
    小米史上最大规模的员工激励方案,涉及4931人获得1.749亿股激励,这无疑是一个引人注目的事件,可以从多个角度来解读和看待。一、 激励规模的“史上最大”意味着什么? 对员工的重视程度空前提升: 如此大规模的股权激励,直接表明小米管理层对员工价值的高度认可。过去,公司可能更侧重于现金奖励或小范围.............
  • 回答
    如何看待小米“不能胜任工作”辞退员工终审败诉?从法律角度看这个辞退理由有哪些不当之处?小米公司以“不能胜任工作”为由辞退员工并最终在法院终审败诉,这无疑是一个值得关注的案例。从法律角度来看,这种结果的出现并非偶然,而是因为在实践中,以“不能胜任工作”为由解除劳动合同,往往存在着较高的举证难度和严格的.............
  • 回答
    小米电视大师系列,尤其是初期定位“大师”的超高端产品,在上市后经历了数次大幅度的价格跳水,从最初的49999元一路降至29999元、19999元,甚至在一些促销活动中能看到接近10000元的低价。这种降价行为,用“跌宕起伏”来形容一点也不为过,并且在消费者群体中引起了广泛的讨论和不同的看法。要深入理.............
  • 回答
    您好!很高兴能为您分析小米于 9 月 27 日发布的 Civi 手机。由于您没有指明具体是哪一年发布的 Civi 手机,我将以近期(假设为 2023 年)发布的小米 Civi 系列新机为基础,并结合小米 Civi 系列过往的特点,为您详细解读其亮点与不足。小米 Civi 系列定位回顾:首先,理解小米.............
  • 回答
    关于“小米员工称雷军开创了996工作制,后被其他公司效仿”的说法,我们需要从多个角度进行审视和分析,以形成一个更全面和客观的看法。这涉及到对历史事实的考证、对“996”概念的理解、对小米企业文化以及雷军个人角色的认知,以及对这种现象背后更深层社会经济因素的探讨。一、 历史事实的考证与“996”概念的.............
  • 回答
    小米显示器挂灯上线,众筹价 169 元:一场“价格屠夫”的降维打击还是创新之举?小米显示器挂灯(官方命名为“小米带鱼屏挂灯”)的上线,无疑再次搅动了显示器配件市场。仅 169 元的众筹价,与市面上动辄五六百元、甚至上千元的高端显示器挂灯相比,显得异常激进。这让人不禁要问:小米这次是凭借强大的供应链和.............
  • 回答
    小米高管将第三季度市场占有率下降的主要原因归结于 iPhone 13 的强势表现,这是一个值得深入探讨的观点。要理解这一点,我们需要从多个层面进行分析:1. 宏观市场背景与竞争格局 全球智能手机市场: 全球智能手机市场整体增长放缓,进入一个相对饱和的阶段。在这种环境下,任何一个厂商的市场份额变化.............
  • 回答
    小米 MIX 4 在双十一期间价格大幅跳水,这背后其实是一个复杂的多方面因素共同作用的结果。要理解这一点,我们需要从多个角度进行剖析,就像解构一个多层蛋糕一样,层层递进。一、 产品定位与市场表现的滞后性首先,我们需要明确小米 MIX 系列的定位。小米 MIX 系列一直以来都是小米用来展示前沿技术和创.............
  • 回答
    如何看待小米MIX 4仍使用USB 2.0?USB 3.0对手机来说是否可有可无?小米MIX 4作为一款定位高端、代表小米技术实力和创新方向的旗舰机型,在发布之初,其仍然使用USB 2.0接口这一细节,确实引起了不少关注和讨论。要理解这个问题,我们需要从多个角度进行分析,并探讨USB 3.0对手机的.............
  • 回答
    “未来得吊丝者得天下”这句来自小米集团创始人雷军的经典语录,经由小米集团市场部总经理王嵋在某些场合引用和强调,引发了广泛的讨论和关注。这句话背后的含义深刻,值得我们从多个角度去剖析。首先,理解“吊丝”的内涵和小米的语境: “吊丝”的演变: 最初,“吊丝”是网络上流行的一个词,带有自嘲和底层劳动人.............
  • 回答
    小米手机自2010年成立以来,经历了惊人的快速发展,从一个“互联网手机”的初创品牌,迅速成长为全球顶尖的智能手机制造商之一。如今,小米手机在全球市场占据着举足轻重的地位,但其发展并非一帆风顺,内部和外部都面临着诸多挑战和机遇。要详细看待小米手机的现状,我们可以从以下几个方面进行分析:一、 市场表现与.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有