萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> 小米路由器劫持403/404和插入廣告的解決辦法

小米路由器劫持403/404和插入廣告的解決辦法

   這些天小米路由器再爆作惡新聞,繼前段時間的403/404劫持,現在就連普通上個網頁都被劫持了,用來插入小米廣告,簡直不能忍!小編趕緊結合網上大神以及自己的摸索,找到了暫時能解決小米路由器劫持403/404和插入廣告的惡行,之後小米路由器有什麼動作,靜觀其變吧。

小米路由器劫持403/404和插入廣告的解決辦法 三聯

  論壇相繼爆料

小米路由器劫持403/404和插入廣告的解決辦法

  可疑啟動項和進程分析

  最近幾天稍微對小米路由(R1D)上的啟動項和進程做了一些分析,初步得到一個稍微干淨的小米路由:

  1.1 /etc/init.d/http_client_detect

  在這個啟動項裡,主要是加載nf_conn_ext_http 和 insmod nf_tcp_proxy 兩個內核模塊,同時有啟動 /usr/sbin/http_dpi

  我還沒深入研究,但初步判斷小米路由監控用戶的HTTP數據,已達到404劫持和插入廣告的操作。

  所以這個啟動項必須刪除掉,拋棄

  1.2 /etc/init.d/rule_mgr

  這個啟動項中有http_match , nf_conn_ext_http, nf_tcp_proxy 內核模塊

  估計也是輔助劫持所用,拋棄

  1.3 /etc/init.d/http_status_stat

  單從名字上看,應該就是為劫持404所用,拋棄

  1.4 /etc/init.d/statisticsservice

  啟動的進程中的配置文件中有一段:ad_filter_stat_url = "http://127.0.0.1:8195/"

  感覺是廣告的代理,你說沒事去訪問8195端口干啥,另外“ad”這個名字,就是廣告縮寫呀,拋棄

  1.5 /etc/init.d/sysapihttpd

  這是啟動http服務器,純粹啟動80端口也就罷了,啟動了N個服務和端口,我也就不一一吐槽了

  總之也是為配合404劫持和廣告所用,所以需要拋棄。

  如果才啟動項禁用掉的話,可能就無法訪問小米路由的WEB配置頁面了,別擔心,可以啟動uhttpd來實現。

  1.6 /etc/init.d/mihttpd

  同樣是啟動小米路由的配置頁面,不過不在80端口,拋棄。

  1.7 /etc/init.d/xunlei

  小米路由中的下載用的就是迅雷,如果有下載需求的可以不用停,但我無此需求,看著也不爽,拋棄。

  1.8 /etc/init.d/messagingagent.sh

  此啟動項是將路由器一些數據上報給小米服務器,手機app遠程訪問也就是聯系小米服務器獲取路由的相關信息。

  具體我也不一一描述了,個人感覺,將一些信息上傳給小米,這件事不靠譜。

  雖然打著“遠程管理”的幌子,誰知道有無上傳個人隱私信息呢。

  如果你還需要用手機APP遠程配置路由的話,可以留著。

  操作步驟:

  當然小米路由上還有其他可疑進程,但還未搞清楚其用途或者關聯,暫時不去理會。

  這次主要初步解決掉404劫持,插入廣告這類問題:

  手上這台小米路由的系統版本是: 開發版2.3.10 ,其他版本未嘗試。

  2.1 首先得開啟ssh權限,這個不需要多說了,網上教程很多,也可以通過小米官網開啟,開啟之後就失去保修了,個人衡量。

  2.2 關閉可疑進程操作:

  /etc/init.d/rule_mgr stop

  /etc/init.d/http_client_detect stop

  /etc/init.d/http_status_stat stop

  /etc/init.d/statisticsservice stop

  /etc/init.d/sysapihttpd stop

  /etc/init.d/mihttpd stop

  不需要遠程訪問和迅雷下載的話,可以繼續操作:

  /etc/init.d/messagingagent.sh stop

  /etc/init.d/xunlei stop

  這樣的話,以上進程都被關閉掉了。

  2.3 關閉可疑進程開機自動運行:

  /etc/init.d/rule_mgr disable

  /etc/init.d/http_client_detect disable

  /etc/init.d/http_status_stat disable

  /etc/init.d/statisticsservice disable

  /etc/init.d/sysapihttpd disable

  /etc/init.d/mihttpd disable

  不需要遠程訪問和迅雷下載的話,可以繼續操作:

  /etc/init.d/messagingagent.sh disable

  /etc/init.d/xunlei disable

  這樣的話,以上進程,重啟之後也不會開機運行了

  2.4 啟動uhttpd操作:

  因為停掉了sysapihttpd ,小米路由配置WEB將無法訪問。

  幸運的是,小米路由上還有uhttpd

  首先修改一下/etc/init.d/uhttpd

  找到 [ $use_uhttpd -eq 0 ] && return 0 這行,大概在倒數第8行的樣子,注釋掉這一行。

  然後啟動uhttpd:

  /etc/init.d/uhttpd start

  並設置開機自動運行:

  /etc/init.d/uhttpd enable

  2.5 計劃任務中一些操作也讓我存疑

  執行crontab -e 可以注釋停掉,目前我計劃任務中只保留了ntp,其他項都被我注釋掉了。

  至此,我個人認為可以解決小米路由劫持404,插入廣告,上報數據的問題了。我的小米路由器運行了3天,目前正常使用中,可能還有可疑的進程,還未發現,持續關注。小米路由淨化計劃繼續,繼續分析可疑進程,將其打入小黑屋,另外想辦法用原生luci替換掉目前小米定制的小米luci,裝個插件都得在手機APP操作,實在蛋疼。

copyright © 萬盛學電腦網 all rights reserved