亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網管 > 路由交換 > 正文

如何反編譯D-Link路由器固件程序并發現它的后門

2020-02-09 23:50:56
字體:
來源:轉載
供稿:網友

OK,又是周末晚上,沒有約會,只有一大瓶Shasta汽水和全是快節奏的音樂…那就研究一下程序吧。

一時興起,我下載了D-link無線路由器(型號:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就從中發現并提取出一個只讀SquashFS文件系統,沒用多大功夫我就將這個固件程序的web server(/bin/webs)加載到了IDA中:

Strings inside /bin/webs

/bin/webs中的字符信息

基于上面的字符信息可以看出,這個/bin/webs二進制程序是一個修改版的thttpd,提供路由器管理員界面操作功能??雌饋硎墙涍^了臺灣明泰科技(D-Link的一個子公司)的修改。他們甚至很有心計的將他們很多自定義的函數名都輔以“alpha”前綴:

Alphanetworks' custom functions

明泰科技的自定義函數

這個alpha_auth_check函數看起來很有意思!

這個函數被很多地方調用,最明顯的一個是來自alpha_httpd_parse_request函數:

Function call to alpha_auth_check

調用alpha_auth_check函數

我們可以看到alpha_auth_check函數接收一個參數(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序將會跳到alpha_httpd_parse_request的結尾處,否則,它將繼續處理請求。

寄存器$s2在被alpha_auth_check函數使用前的一些操作代碼顯示,它是一個指向一個數據結構體的指針,里面有一個char*指針,會指向從HTTP請求里接收到的各種數據;比如HTTP頭信息和請求地址URL:

$s2 is a pointer to a data structure

$s2是一個指向一個數據結構體的指針

我們現在可以模擬出alpha_auth_check函數和數據結構體的大概樣子:

struct http_request_t{ char unknown[0xB8]; char *url; // At offset 0xB8 into the data structure};int alpha_auth_check(struct http_request_t *request);

alpha_auth_check本身是一個非常簡單的函數。它會針對http_request_t結構體里的一些指針進行字符串strcmp比較操作,然后調用check_login函數,實際上就是身份驗證檢查。如果一旦有字符串比較成功或check_login成功,它會返回1;否者,它會重定向瀏覽器到登錄頁,返回-1;

alpha_auth_check code snippet

alpha_auth_check函數代碼片段

這些字符串比較過程看起來非常有趣。它們提取請求的URL地址(在http_request_t數據結構體的偏移量0xB8處),檢查它們是否含有字符串“graphic/” 或 “public/”。這些都是位于路由器的Web目錄下的公開子目錄,如果請求地址包含這樣的字符串,這些請求就可以不經身份認證就能執行。

然而,這最后一個strcmp卻是相當的吸引眼球:

An interesting string comparison in alpha_auth_check

alpha_auth_check函數中一個非常有趣的字符串比較

這個操作是將http_request_t結構體中偏移量0xD0的字符串指針和字符串“xmlset_roodkcableoj28840ybtide”比較,如果字符匹配,就會跳過check_login函數,alpha_auth_check操作返回1(認證通過)。

我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只發現在一個俄羅斯論壇里提到過它,說這是一個在/bin/webs里一個“非常有趣”的一行。我非常同意。

那么,這個神秘的字符串究竟是和什么東西進行比較?如果回顧一下調用路徑,我們會發現http_request_t結構體被傳進了好幾個函數:

call_graph

事實證明,http_request_t結構體中處在偏移量 0xD0處的指針是由httpd_parse_request函數賦值的:

Checks for the User-Agent HTTP header

檢查HTTP頭信息中的User-Agent值

Populates http_request_t + 0xD0 with a pointer to the User-Agent header string

將http_request_t + 0xD0指針指向頭信息User-Agent字符串

這代碼實際上就是:

if(strstr(header, "User-Agent:") != NULL){ http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " /t");}

知道了http_request_t偏移量0xD0處的指針指向User-Agent頭信息,我們可以推測出alpha_auth_check函數的結構:

#define AUTH_OK 1#define AUTH_FAIL -1int alpha_auth_check(struct http_request_t *request){ if(strstr(request->url, "graphic/") || strstr(request->url, "public/") || strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0) { return AUTH_OK; } else { // These arguments are probably user/pass or session info if(check_login(request->0xC, request->0xE0) != 0) { return AUTH_OK; } } return AUTH_FAIL;}

換句話說,如果瀏覽器的User-Agent值是 “xmlset_roodkcableoj28840ybtide”(不帶引號),你就可以不經任何認證而能訪問web控制界面,能夠查看/修改路由器的 設置(下面是D-Link路由器(DI-524UP)的截圖,我沒有 DIR-100型號的,但DI-524UP型號使用的是相同的固件):

Accessing the admin page of a DI-524UP

訪問型號DI-524UP路由器的主界面

基于HTML頁上的源代碼信息和Shodan搜索結果,差不多可以得出這樣的結論:下面的這些型號的D-Link路由器將會受到影響:

  • DIR-100
  • DI-524
  • DI-524UP
  • DI-604S
  • DI-604UP
  • DI-604+
  • TM-G5240

除此之外,幾款Planex路由器顯然也是用的同樣的固件程序:

  • BRL-04UR
  • BRL-04CW

你很酷呀,D-Link。

腳注:萬 能的網友指出,字符串“xmlset_roodkcableoj28840ybtide”是一個倒序文,反過來讀就是 “editby04882joelbackdoor_teslmx”――edit by 04882joel backdoor _teslmx,這個后門的作者真是位天才!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线999| 欧美怡红院视频一区二区三区| 国产精品久久久久999| 亚洲老板91色精品久久| 国产69久久精品成人看| 国产ts人妖一区二区三区| 日韩av免费看网站| 免费成人高清视频| 91国产一区在线| 在线精品91av| 国产一区玩具在线观看| 中文精品99久久国产香蕉| 欧美日韩中文字幕综合视频| 一区二区三区日韩在线| 日本午夜精品理论片a级appf发布| 亚洲自拍偷拍视频| 日韩欧美亚洲综合| 性欧美xxxx| 欧美怡红院视频一区二区三区| 国产精品福利观看| 国产高清视频一区三区| 日本免费久久高清视频| 久久精品国产成人| 亚洲精品一区二区在线| 国产精品久久久久久久久粉嫩av| 欧美成人性色生活仑片| 国产亚洲激情视频在线| 国产精品揄拍一区二区| 久久精品视频99| 97国产精品久久| 国产日韩欧美另类| 中文字幕在线日韩| 亚洲欧美综合精品久久成人| 久久五月天综合| 中文精品99久久国产香蕉| 亚洲免费伊人电影在线观看av| 久热99视频在线观看| 亚洲另类欧美自拍| 国产亚洲精品美女久久久| 欧美裸体xxxxx| 欧美成人在线免费视频| 亚洲丝袜av一区| 精品丝袜一区二区三区| 欧美老少做受xxxx高潮| 亚洲一区亚洲二区亚洲三区| 国产精品高潮粉嫩av| 久久久久久久久久久久久久久久久久av| 国产精品视频1区| 91九色国产在线| 欧美一级片久久久久久久| 成人在线免费观看视视频| 成人综合网网址| 亚洲欧美日韩高清| 伊是香蕉大人久久| 91极品女神在线| 国产精品视频公开费视频| 国产精品99久久久久久人| 亚洲xxx自由成熟| 性色av一区二区三区免费| 日韩精品在线免费| 欧美老女人www| 久久久女人电视剧免费播放下载| 中文字幕在线视频日韩| 日韩精品中文字幕视频在线| 色偷偷偷亚洲综合网另类| 亚洲欧美日本精品| 日韩在线观看av| 国产精品永久免费视频| 亚洲国产99精品国自产| 97视频在线观看成人| 久久视频在线播放| 日韩免费高清在线观看| 亚洲成年网站在线观看| 欧美电影在线观看| 91国偷自产一区二区三区的观看方式| 亚洲国产天堂久久综合网| 97香蕉久久夜色精品国产| 欧美精品18videosex性欧美| 亚洲的天堂在线中文字幕| 亚洲性生活视频在线观看| 欧美小视频在线| 国产精品视频久久久久| 国产精品99久久99久久久二8| 日本成人精品在线| 亚洲全黄一级网站| 欧美又大又粗又长| 亚洲最大av网| 欧美成aaa人片免费看| 亚洲字幕在线观看| 日韩av影院在线观看| 久久久国产精品视频| 欧美性受xxxx白人性爽| 欧美成人精品在线视频| 91成人性视频| 亚洲精品乱码久久久久久金桔影视| 欧美精品国产精品日韩精品| 中日韩午夜理伦电影免费| 国产a级全部精品| 亚洲一区二区免费| 欧美黄色性视频| 欧美在线视频一区二区| 91最新在线免费观看| 欧美日韩亚洲一区二区| www.亚洲一区| 日韩大陆欧美高清视频区| 国产成人黄色av| 国产成人久久久| 久久综合九色九九| 亚洲经典中文字幕| 亚洲精品电影网站| 亚洲黄在线观看| 疯狂做受xxxx欧美肥白少妇| 精品久久久91| 精品国产视频在线| 精品精品国产国产自在线| 亚洲精品国产综合久久| 日韩av大片免费看| 欧美精品免费在线| 欧美丰满少妇xxxx| 中文字幕日韩精品在线观看| 日韩欧美国产骚| 日韩精品免费视频| 亚洲精品欧美日韩专区| 国产99久久精品一区二区永久免费| 97在线观看免费| 清纯唯美亚洲激情| 亚洲视频欧美视频| 亚洲欧美日韩一区二区在线| 久久久精品免费视频| 欧美性生交大片免费| 97在线精品国自产拍中文| 亚洲欧美日韩综合| 国产精品久久一| 国产精品久久久久久av下载红粉| 久久久久久国产免费| 欧美日韩成人精品| 国产精品一久久香蕉国产线看观看| 亚洲无线码在线一区观看| 91久久夜色精品国产网站| 国内精品久久久久影院优| 68精品久久久久久欧美| 国产剧情日韩欧美| 欧美日韩视频在线| 午夜精品蜜臀一区二区三区免费| 亚洲精品日产aⅴ| 国产精品欧美激情在线播放| 国产成人亚洲综合青青| 一区二区欧美日韩视频| 亚洲国产精久久久久久久| 欧美一级在线播放| 一区二区三区四区在线观看视频| 久久久999精品| 国产成人综合av| 在线午夜精品自拍| 国产精自产拍久久久久久| 国产91精品久久久久| 中文字幕亚洲一区二区三区五十路| 亚洲最新在线视频| 91九色在线视频| 国产精品丝袜一区二区三区| 91网站免费观看| 青草热久免费精品视频| 欧美精品手机在线| 92福利视频午夜1000合集在线观看|