本篇文章更新時間:2020/05/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
昨晚突然有一個急案,業主表示網站瀏覽正常,就是登入不了。詢問了相關細節後測試也是如此,登入後等一段時間會出現 ERR_EMPTY_RESPONSE
或 ERR_TIMED_OUT
的瀏覽器錯誤畫面。
是被駭了嗎?是某個外掛設定錯誤嗎?是前人做了什麼手腳嗎?都不知道的情況下與都檢測過、詢問一輪後,先把矛頭指向「單純網頁登入這操作有問題」。
如何不透過網頁的登入功能來登入網站?
WordPress 透過 Cookie-based session 機制來儲存登入資訊。所以帳號密碼驗證過後 WordPress 會吐出一組 Cookie 資料,作為登入的會員卡使用。
說它「會員卡」,正是因為如果偷到這張卡,我也能登入了。
小心你在登入狀態下所點擊的連結甚至是觀看的內容。這都有可能偷到那張會員卡!不過,這機制不壞,壞的是濫用的人。要知道 WordPress 是一套高可用架構的系統也要多虧這設計呢~
模擬登入行為
進入正題。首先至少要帳號密碼正確才可以拿到這組「會員卡」,這塊透過程式、指令去跑密碼檔案來暴力逐一測試、破解就可以。
指令的方法如下:
curl -v -b cookie.txt -c cookie.txt -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36" -XPOST -F "pwd=帶入密碼" -F "log=帶入帳號" -F "wp-submit=login" https://www.mxp.tw/wp-login.php
只要看到 HTTP 回傳狀態是 302
頁面跳轉 https://www.mxp.tw/wp-admin/
就代表登入成功。
修改 Cookie 從瀏覽器登入
登入成功後,打開目錄下的 cookie.txt
檔案可以看到如下資訊:
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_www.mxp.tw FALSE / FALSE 0 wordpress_logged_in_abcdefghijklmnopqrstuvwxyz123456 mxp%blahblahblahblahblahblahblahblahblahblahblahblah
#HttpOnly_www.mxp.tw FALSE /wp-admin FALSE 0 wordpress_abcdefghijklmnopqrstuvwxyz123456 mxp%blahblahblahblahblahblahblahblahblahblahblahblah
#HttpOnly_www.mxp.tw FALSE /wp-content/plugins FALSE 0 wordpress_abcdefghijklmnopqrstuvwxyz123456 mxp%blahblahblahblahblahblahblahblahblahblahblahblah
www.mxp.tw FALSE / FALSE 0 wordpress_test_cookie WP+Cookie+check
Chrome 瀏覽器可以安裝 EditThisCookie 的擴充元件來幫忙修改 Cookie。
照著上面 cookie.txt
檔案描述的設定來改當前這網站的 Cookie,改好套用後,直接瀏覽後台網址 /wp-admin/
就可以看到後台資訊了!
後記
回到開頭提到的這個案子,因為得以登入了,網站各項功能也檢測正常,僅發現 DNS 有解析問題,導致登入時的錯誤發生,目前靜待該公司 MIS 排查問題主因。
如果測試人員無法繞過網頁登入機制來嘗試登入的話,任誰都會直覺是網站壞了,而忽略還有其他可能性,只好黑鍋背好背滿~ 可憐吶(喂
這篇不是要教怎麼破解網站,而是透過這樣拆解的方式來分享,如果今天自己網站帳號密碼太弱,幾行程式,隨便跑幾個密碼字典檔就能很快速且自動的破解網站並串改網站內容,後果嚴重。
對,我就是標題殺人XD
要避開直接的暴力破解或是註冊攻擊,可以使用 Advanced noCaptcha & invisible Captcha (v2 & v3) 外掛達成。或使用其他 Two Factor Authentication (2FA, MFA) 的機制來防治暴力登入。