網絡故障(network failure)是指由于硬件的問題、軟件的漏洞、病毒的侵入等引起網絡無法提供正常服務或降低服務質量的狀態。 摘要:本文主要用于通過路由器的wan端口登錄到帳戶以連接到校園網絡(Web身份驗證)。連接到路由器的多個設備共享同一帳戶。幾分鐘后,將檢測到代理(或共享)行為,并且該帳戶將成為“臨時禁止發布”。同時,實現了自動Web身份驗證,因此無需登錄。 前言 Wikipedia openwrt簡介: OpenWrt是適用于嵌入式設備的Linux發行版。 與原始固件相比,OpenWrt不是單個一、靜態固件,而是提供了可向其中添加軟件包的可寫文件系統。這使用戶可以自由選擇應用程序和配置,而不受設備提供商的限制,并且可以使用適合某些應用程序的軟件包來自定義您的設備。對于開發人員來說,OpenWrt是一個框架。開發人員不必費心構建整個固件即可獲得所需的應用程序;對于用戶而言,這意味著能夠以不同于以往的方式完全自定義和使用該設備,OPKG包含3500多種軟件。 默認情況下,LuCI用作Web交互界面。 設備:已閃入openwrt系統的路由器 (作者使用Barley DW220D) 固件版本:OpenWrt屏障斷路器14.07 / LuCI中繼(0.12 + svn-r10530) 內核版本:3.1 0.49 涉及的內容: JavaScript分析后程序包構建/發送基本的Linux命令外殼腳本 背景/原理:使用路由器的wan端口連接到園區網絡時,終端對園區網絡服務器是透明的(NAT地址轉換),并且用戶連接幾分鐘后,園區網絡服務器將對其進行分析。到Internet(SWU為20分鐘)數據包用于檢測是否有多個設備共享該行為,因此它僅需要每十分鐘斷開/連接到Internet。實際上,Supermartin就是基于這一原理開發的,用于Windows環境的自動聯網工具(破解重慶電信園區網絡,在宿舍中共享寬帶帳戶),但是當宿舍計算機使用時,其功耗是不可接受的。開啟了很長時間。歸根結底,校園網絡的Web身份驗證是發送http應用程序層協議數據包(最常見的是post和get),因此這些步驟大致分為兩個步驟: 分析登錄/脫機數據包并在openwrt上發送數據包以進行認證/脫機一、分析Web認證數據包 可以通過數據包捕獲和分析頁面JavaScript來進行數據包分析。打開瀏覽器開發人員工具(F12)進行網絡登錄,然后通過敏感的氣味找到關鍵的發布包,如圖1所示。 可以看出,盡管userid和password關鍵字的內容是明確的(未加密),但queryString和服務的外觀和內容還是不清楚的。應該結合使用JS來分析queryString和服務的結構和內涵。再次打開開發人員工具,html代碼如圖所示找到登錄按鈕,并發現登錄按鈕已綁定到doauthen()函數,如圖2. 所示。 我發現此頁面引入了兩個js文件,并在其中一個js文件中找到了登錄功能: 其中ePortalUrl是請求地址前綴:
和離線功能:
可以發現有更多的登錄關鍵字可以登錄,但離線只需要一個userIndex 1.1個登錄關鍵字querryString和Service 在JS文件中發現,queryString是上一頁提交的get數據,經過兩次encodeURIComponent()轉碼后,如圖3所示 JavaScript encodeURLComponent()的含義是替換原始字符串的某些特殊字符(有關詳細信息,請參見encodeURLComponen的含義。) 與%25E9%25BB%2598%25E8%25AE%25A4相對應的服務是圖3的可選下拉框中默認單詞的兩個encodeURLComponent()轉碼。這是相對固定的,因此請查找獲取queryString的數據源。 輸入身份驗證地址且未登錄身份驗證頁面時,地址欄將變為
獲取數據是“?”之后的部分
這意味著瀏覽器在此之前進行了跳轉,并執行了get操作。如果您尚未登錄,則可以在尚未重定向的頁面上找到此信息。實際上,該信息是該設備未登錄以連接到服務器,服務器返回的注冊信息。獲取此頁面的方法有很多(必須處于未登錄狀態),例如: 禁用瀏覽器加載js腳本,使用python和其他編程語言直接捕獲軟件包并使用wget在linux上下載頁面 wget在openwrt下獲得的頁面如圖4所示。 此時,登錄所需的四個關鍵字id,password,service和queryString都已清除。您只需要構造一個POST包并將這些關鍵字發送到圖1中的請求URL即可完成登錄。 1.2個離線關鍵字userindex 首先,我使用python根據1.1的背景發送post包,并發現直接返回了userindex,如圖5所示 因此,您只需執行字符串操作即可獲取userindex關鍵字。 兩個openwrt循環執行登錄/脫機操作2. 1openwrt發送帖子包和shell基礎 卷曲后操作命令格式:
openwrt上的shell是輕量級的解析器灰。語法不嚴格。具有一定編程基礎的人們可以快速學習和應用它。有關詳細信息,請參見shell教程。 (該網站的免費內容就足夠了) 2. 2連接到openwrt 使用計算機直接插入路由器的局域網端口,使用膩子,Xshell和其他工具進行SSH連接(某些版本需要進入路由器設置頁面以打開接收局域網端口SSH連接),地址為路由器管理地址,一般為19 2. 168.1.1,輸入root用戶名和密碼即可進入路由器。 2. 3編寫一個shell腳本,輸入etc(cd / etc),創建一個新的net.sh文件(觸摸net.sh),然后寫入net.sh文件(vi net.sh,鍵入i以進入編輯模式)(請操作vi請參見linux vi)以下代碼:
vi保存的操作順序為ESC:wq輸入 2. 4執行腳本 在執行Linux腳本之前需要授權。授權命令為:
執行腳本:
可以說它已經結束了,但是可以使用SSH輸入openwrt來執行腳本。退出SSH時,腳本的執行將停止。在這里,屏幕包用于使其在后臺執行。使用屏幕類似于Windows窗口?梢酝瑫r執行多個窗口。執行。安裝命令如下:
直接在頁面上進入屏幕以進入子頁面,然后在此頁面上執行:
正常執行程序后,鍵入Ctrl + a,然后按d退出到主頁。此時,您可以輸入exit退出連接。 要再次進入該窗口,可以使用screen -ls獲取前一個窗口的編號,然后使用screen -r number命令輸入。 順便顯示openwrt SS設置方法的公開版本
當今,越來越多的業務應用運行于網絡架構之上,保障網絡的持續、高效、安全的運行,成為網絡管理者面臨的巨大挑戰。 |
溫馨提示:喜歡本站的話,請收藏一下本站!