您好,登錄后才能下訂單哦!
如何映射Google Web Toolkit的攻擊面,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
GWTMap是一款針對GWT的安全審計工具,在它的幫助下,廣大研究人員不僅可以對基于Google Web Toolkit(GWT)的應用程序進行安全審計,而且還可以使用GWTMap來映射這類應用程序的攻擊面。該工具的主要功能是幫助廣大研究人員提取出隱藏在現代GWT應用程序混淆客戶端代碼中的任何服務方法節點,并嘗試生成GWT-RPC請求樣例Payload來與這些應用程序進行交互。
腳本的正常運行需要Python3環境以及argparse和requests庫。在安裝并配置好Python3環境之后,我們可以使用下列命令來安裝相應的依賴組件:
python -m pip install -r requirements.txt
$ ./gwtmap.py -h usage: gwtmap.py [-h] [--version] [-u <TARGET_URL>] -F <FILE> [-b <BASE_URL>] [-p <PROXY>] [-c <COOKIES>] [-f <FILTER>] [--basic] [--rpc] [--probe] [--svc] [--code] [--color] [--backup [DIR]] [-q] Enumerates GWT-RPC methods from {hex}.cache.js permutation files Arguments: -h, --help 顯示幫助信息并退出 --version 顯示程序版本號并退出 -u <TARGET_URL>, --url <TARGET_URL> 目標GWT地址 -F <FILE>, --file <FILE> 本地拷貝文件路徑 -b <BASE_URL>, --base <BASE_URL> 給定組合文件的URL基地址 -p <PROXY>, --proxy <PROXY> HTTP代理URL地址URL,比如說:-p http://127.0.0.1:8080 -c <COOKIES>, --cookies <COOKIES> 訪問遠程資源所需的cookie,比如說:'JSESSIONID=ABCDEF; OTHER=XYZABC' -f <FILTER>, --filter <FILTER> 輸出過濾,比如說:-f AuthSvc.checkSession --basic 啟用HTTP Basic認證 --rpc 針對每一個方法生成序列化RPC請求 --probe 發送HTTP探測請求來測試每一個方法 --svc 顯示枚舉服務信息和方法 --code 導出給定資源的're-formatted'狀態 --color 啟用終端輸出顏色高亮顯示 --backup [DIR] 創建獲取代碼的本地拷貝 -q, --quiet 啟用靜默模式(最小化輸出) 執行樣例: ./gwtmap.py -u "http://127.0.0.1/example/example.nocache.js" -p "http://127.0.0.1:8080" --rpc
通過目標的Bootstrap文件來枚舉一個遠程應用程序中的方法,并創建目標代碼的本地備份(隨機選擇排列):
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --backup
通過特定的代碼組合枚舉遠程應用程序中的方法:
./gwtmap.py -u http://192.168.22.120/olympian/C39AB19B83398A76A21E0CD04EC9B14C.cache.js
通過一個HTTP代理枚舉目標應用程序的路由流量方法:
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --backup -p http://127.0.0.1:8080
枚舉任意給定組合的本地文件拷貝中的方法:
./gwtmap.py -F test_data/olympian/C39AB19B83398A76A21E0CD04EC9B14C.cache.js
對特定服務或方法進行輸出過濾:
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter AuthenticationService.login
針對已過濾的服務中所有的方法生成RPC Payload,輸出數據帶有顏色高亮顯示:
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter AuthenticationService --rpc --color
針對所有已過濾服務方法自動測試(探測)生成的RPC請求:
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter AuthenticationService.login --rpc --probe
在這個樣例中,我們針對“testDetails”方法來生成了一個RPC請求,然后實現針對服務的自動化探測:
$ ./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter TestService.testDetails --rpc --probe ___| \ / __ __| \ | \ _ \ | \ \ / | |\/ | _ \ | | | | \ \ / | | | ___ \ ___/ \____| _/\_/ _| _| _| _/ _\ _| version 0.1 [+] Analysing ==================== http://192.168.22.120/olympian/olympian.nocache.js Permutation: http://192.168.22.120/olympian/4DE825BB25A8D7B3950D45A81EA7CD84.cache.js + fragment : http://192.168.22.120/olympian/deferredjs/4DE825BB25A8D7B3950D45A81EA7CD84/1.cache.js + fragment : http://192.168.22.120/olympian/deferredjs/4DE825BB25A8D7B3950D45A81EA7CD84/2.cache.js [+] Module Info ==================== GWT Version: 2.9.0 Content-Type: text/x-gwt-rpc; charset=utf-8 X-GWT-Module-Base: http://192.168.22.120/olympian/ X-GWT-Permutation: 4DE825BB25A8D7B3950D45A81EA7CD84 RPC Version: 7 RPC Flags: 0 [+] Methods Found ==================== ----- TestService ----- TestService.testDetails( java.lang.String/2004016611, java.lang.String/2004016611, I, D, java.lang.String/2004016611 ) POST /olympian/testService HTTP/1.1 Host: 192.168.22.120 Content-Type: text/x-gwt-rpc; charset=utf-8 X-GWT-Permutation: 4DE825BB25A8D7B3950D45A81EA7CD84 X-GWT-Module-Base: http://192.168.22.120/olympian/ Content-Length: 262 7|0|10|http://192.168.22.120/olympian/|67E3923F861223EE4967653A96E43846|com.ecorp.olympian.client.asyncService.TestService|testDetails|java.lang.String/2004016611|D|I|§param_Bob§|§param_Smith§|§param_"Im_a_test"§|1|2|3|4|5|5|5|7|6|5|8|9|§32§|§76.6§|10| HTTP/1.1 200 //OK[1,["Name: param_Bob param_Smith\nAge: 32\nWeight: 76.6\nBio: param_\"Im_a_test\"\n"],0,7] [+] Summary ==================== Showing 1/5 Services Showing 1/25 Methods
看完上述內容,你們掌握如何映射Google Web Toolkit的攻擊面的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。