突破封閉 Web 系統的技巧之旁敲側擊
在網際網路安全服務公司乙方工作的人或者進行SRC眾測等相關滲透測試時,經常碰到客戶只給一個"xxx資訊管理系統"、"xxx平臺"之類的一個Web 登入介面的系統的連結地址,其它全憑自己造化,去找漏洞吧!
我將上面講的"需要認證後才能進入系統進行操作,但是當前沒有認證憑證"的 web 系統統一稱為"封閉的 Web 系統",本文認為閱讀人員有一定的滲透測試經驗,並將就如何突破封閉的 Web 系統,進行探討。分享自己的思路與常用技巧,歡迎同道中人一起交流思路。
注:本文有一定的攻擊性操作,僅為安全從業人員滲透測試思路交流,請在法律條規允許的範圍內進行安全測試。
《突破封閉 Web 系統的技巧》由兩篇文章組成,第一篇是 突破封閉 Web 系統的技巧之正面衝鋒 ,這是第二篇文章"旁敲側擊"。
旁敲側擊
經過我們的一陣自殺式……哦不對,字典式衝鋒,發現我們將自己意淫成管理員企圖從心裡戰勝"封閉系統"的想法失敗了。
進不去就是進不去啊,一個低危洞都沒有,看來是這系統比較安全了。
但是回頭一瞟,隔壁座位上的老王喜笑顏開,3 個高危已經輕鬆提交上去,還有 2 箇中危都不屑一看……
自己心裡想著"我真菜",然後決定徹底放棄。
直到某天,老王感覺虧欠你太多,向你娓娓道出他那天所施展的姿勢……
0x00:掃埠擴範圍
在正面衝鋒失敗後,我們應該暫時放棄"通過合法的憑證進入 Web 系統"這個想法,擴散思維,不再侷限於 Web 系統,多關注作業系統、中介軟體的層面。
埠掃描做為一項常用技術,可用 nmap、masscan、zmap
等工具進行埠探測和服務識別,不再贅述。值得注意的是:不要著急就只掃描 TCP 協議的埠,UDP協議的埠也不要放過。
掃描到一些有趣的埠和服務,就可以盡情的去玩耍了。如果有較多有可能被拿下的服務埠開放,無形中我們直接拿下伺服器的概率會大大增加。當別人還在"衝鋒"時,我們可能早就通過某不知名埠部署的其它 Web 應用系統的中介軟體漏洞進入系統了~
0x01:尋找測試域名
有些廠商在開發其 Web 系統時,可能會先單獨分配個測試域名來測試正在開發的系統,比如 "testapi.land.com"
。
當系統開發完成後,廠商如願以償的將安全的系統部署在域名 "api.land.com"
上,但是確忘記關閉了 "testapi.land.com"
。
然後,測試域名上仍然開放著 N 多埠,分別對應著不同版本的 Web 系統,儼然成為了一個天然的靶場。
0x02:微信公眾號與 APP
Web 系統進不去?去看看廠家的微信公眾號吧。
為了迎合客戶和流量,有點規模的企業都會建立自己的微信公眾號,而且安全保護的受重視程度通常遠低於 Web 系統。
Web 系統可能有複雜的圖片驗證碼,而微信公眾號可能為了使用者體驗,並沒有設定任何圖形驗證碼;
Web 系統難以發現的介面可能在瀏覽微信公眾號時的資料包中找到;
同理,如果廠家的封閉 Web 系統是面向多業務員的,那麼很可能存在某一或幾款 APP,存在同樣的登入功能,而且也比 Web 系統要疏於保護。
缺少驗證碼或可能找到一些請求介面和一些有意思的請求引數。除此之外,反編譯 APP 獲得其原始碼,梳理程式碼中所有敏感的請求介面、連線地址、關鍵認證邏輯,可能會有意外收穫。
另外,測試完安卓機上的 APP 後,如果 APP 有 IOS 版本,測下 IOS 版的 APP,說不定有意外收穫。
0x03:尋找蛛絲馬跡
最好詳細的記錄下所有有關 Web 系統的相關資訊。
這些資訊都有可能成為最後突破的方向,如伺服器作業系統型別、使用的框架或元件、使用的容器、使用的 CMS 型別、伺服器版本、開發語言、前端框架等資訊。
這部分的工具實在太多了,挑揀自己順手的用就好,比如 Firefox 外掛 wapplayer、whatweb、雲悉,其它不再贅述。
搞不定的 web 系統,說不定一個 Struts2 RCE
、Weblogic RCE
、Tomcat war
包部署之類的漏洞,連伺服器的許可權都拿到了。
另外,對於資訊量極少的封閉系統,右擊檢視原始碼基本成了必須要做的事,最好把能接觸到網頁,全部右擊檢視一遍網站原始碼。仔細瀏覽一遍,看看有沒有特殊的網頁註釋、特殊連結之類的,也許一條測試後臺的 ip 地址連結、放置在 json 檔案中的明文配置密碼資訊,就能讓你進入未受保護的測試系統。
最後,如果系統條件允許的話,最好用檢測普通 Web 系統的手段對封閉的 Web 系統檢測一遍。比如用主機漏洞掃描器 Nessus、web 漏洞掃描器 AWVS
、Netsparker
、Appscan
等掃描下網站,防止遺漏重要的 Web
漏洞資訊。
0x04:何方 CMS
如果 Web 系統不是作為獨苗被單獨開發的話,那麼很可能是由已知的 CMS 或框架寫成的。知名的 CMS 在 0x03:尋找蛛絲馬跡
步驟就應該已經知道了。如果它是由沒有開放原始碼的商業化的 CMS 改造而成或者不知名的系統建成,我們還有以下幾種方式得到它的名字或者原始碼。
1、觀察頁面的特殊 css 命名規則、js 方法名等資源特徵,用搜尋引擎搜尋;
2、將有特點的頁面比如登入頁面,截圖後利用線上試圖,比對相似的系統,或者發到某群中,問下有經驗的師傅;
3、在搜尋引擎、文庫、Github、百度雲盤和其它程式碼託管、雲端儲存平臺上,搜尋目標的系統型別名,如"企業印鑑管理系統",同類系統不多的話,很容易就可以搜尋出來;如果開發者沒有安全意識,極有可能會把原始碼託管或分享在任何人都可以訪問到的平臺上,只要不遺漏此步驟,說不定就可以拿到原始碼;
4、在頁面底部或者掃描到的 REAMDE 等檔案裡如果有外包公司等名稱或首頁,可以藉此得知是哪個外包公司開發的什麼系統,尋找類似的保護較脆弱的系統,拿到原始碼。
0x05:歷史漏洞搜尋
經過我們上面的工作,我們很可能已經得知系統的名字和版本。這時候,就可以去搜尋引擎、wooyun 漏洞映象站、安全客的漏洞搜尋、cvel 漏洞庫去搜尋下 CMS 的歷史漏洞,或者廠商以前曾暴露出來的漏洞,可能會發現許多有用的資訊!
有可能一個以前暴露出來的員工弱口令稍加變形或者 xxxCMS 無條件 getshell,封閉系統的大門就徹底向我們敞開了。
0x06:大殺四方
從上文所述,我們可以看出:所謂旁敲側擊的精華思想有兩部分:
一、是規避安全措施做的很好的封閉 Web 系統,嘗試從相關的弱點系統和人著手,間接突破封閉的 Web 系統;
二、是通過各種渠道,獲得所使用系統的名字和原始碼,嘗試使用歷史漏洞或者審計原始碼,突破封閉的 Web 系統。
最後,老王也緩緩說出了他快速提交漏洞的祕密:原來在 N 月前,老王在某次滲透測試時,就通過其它網站的 wwwroot.rar 備份檔案。
獲得了和這個 Web 系統一樣的原始碼,審計一波已經得到幾個 0day,0day 才是大殺四方的利器啊!
總結
當嘗試突破封閉的 Web 系統並且正面強攻不奏效的情況下,旁敲側擊往往具有強大的殺傷力。
其中的技巧往往越猥瑣、小眾、另闢蹊徑,效果越出彩,而且技巧也遠遠不止上面提到的一小部分。
比如,針對性極強的郵件、網頁釣魚套出目標管理員的口令和密碼;在所有思路全部中斷時,去 QQ 群搜尋下 Web 系統名或者機構名,編織個巧妙的不敢輕易拒絕的謊言,進去 QQ 群后,很可能系統原始碼、預設密碼、測試帳號就全部都有了。
相關文章
- 突破封閉 Web 系統的技巧之正面衝鋒Web
- 敲擊碼
- mui關閉側滑UI
- 科技愛好者週刊(第 141 期):封閉系統的勝利
- 近期js敲詐者的反查殺技巧分析JS
- 【封裝小技巧】is 系列方法的封裝封裝
- 提速60倍!智慧WEB安全攻擊系統應用到實戰中的效果Web
- 密碼系統的攻擊密碼
- 具有緩衝效果的側欄展開客服系統
- 說一說Web端側AIWebAI
- 【封裝小技巧】列表處理函式的封裝封裝函式
- 肯亞前總理稱選舉系統遭到駭客攻擊 | 駭客攻擊英國水廠,卻敲詐錯了物件物件
- web前端常用的封裝方法Web前端封裝
- 幾個Linux系統的操作技巧Linux
- 【封裝小技巧】數字處理函式的封裝封裝函式
- 開啟/關閉子系統的命令
- 網路的開放和封閉的思考
- 作業系統封裝操作作業系統封裝
- 從封閉走向開放:應用跨端融合或成Linux桌面系統發展跳板跨端Linux
- 致新人策劃:封閉或市場? 關於網遊經濟系統,你想知道的都在這
- web的攻擊技術Web
- 如何關閉win10系統聲音_win10關閉系統提示音的方法Win10
- win10怎麼關閉系統服務_win10關閉系統服務的方法Win10
- win10系統還原怎麼關閉_win10系統還原關閉的方法Win10
- win10怎麼關閉系統維護_win10系統維護的關閉方法Win10
- 進擊的 JavaScript(四) 之 閉包JavaScript
- Linux系統導航技巧Linux
- 封裝Vue元件的一些技巧封裝Vue元件
- 蘋果的「封閉」是一種原罪嗎?蘋果
- 功德+N!Python敲擊木魚積累功德程式碼Python
- 如何突破傳統升級系統在RPG中的侷限性?
- Win10資料夾右側資訊欄怎麼關閉?Win10資料夾右側資訊欄的關閉方法Win10
- 非煤電子封條系統
- 礦山電子封條系統
- Win10系統如何關閉藍芽功能 win10系統關閉藍芽功能的方法Win10藍芽
- win10系統怎樣關閉pximouse程式_win10系統關閉pximouse程式的步驟Win10
- win10系統onenote怎麼關閉_win10系統onenote如何關閉Win10
- 基於DVFS的GPU電磁側通道竊聽攻擊GPU