如何映射Google Web Toolkit的攻击面
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,如何映射Google Web Toolkit的攻击面,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。GWTMapGWTMap是一款针对GW
千家信息网最后更新 2025年12月01日如何映射Google Web Toolkit的攻击面
如何映射Google Web Toolkit的攻击面,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
GWTMap
GWTMap是一款针对GWT的安全审计工具,在它的帮助下,广大研究人员不仅可以对基于Google Web Toolkit(GWT)的应用程序进行安全审计,而且还可以使用GWTMap来映射这类应用程序的攻击面。该工具的主要功能是帮助广大研究人员提取出隐藏在现代GWT应用程序混淆客户端代码中的任何服务方法节点,并尝试生成GWT-RPC请求样例Payload来与这些应用程序进行交互。
依赖环境
脚本的正常运行需要Python3环境以及argparse和requests库。在安装并配置好Python3环境之后,我们可以使用下列命令来安装相应的依赖组件:
python -m pip install -r requirements.txt
帮助菜单
$ ./gwtmap.py -husage: gwtmap.py [-h] [--version] [-u] -F [-b ] [-p ] [-c ] [-f ] [--basic] [--rpc] [--probe] [--svc] [--code] [--color] [--backup [DIR]] [-q] Enumerates GWT-RPC methods from {hex}.cache.js permutation files Arguments: -h, --help 显示帮助信息并退出 --version 显示程序版本号并退出 -u , --url 目标GWT地址 -F , --file 本地拷贝文件路径 -b , --base 给定组合文件的URL基地址 -p , --proxy HTTP代理URL地址URL,比如说:-p http://127.0.0.1:8080 -c , --cookies 访问远程资源所需的cookie,比如说:'JSESSIONID=ABCDEF; OTHER=XYZABC' -f , --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.jsPermutation: 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.0Content-Type: text/x-gwt-rpc; charset=utf-8X-GWT-Module-Base: http://192.168.22.120/olympian/X-GWT-Permutation: 4DE825BB25A8D7B3950D45A81EA7CD84RPC Version: 7RPC 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.1Host: 192.168.22.120Content-Type: text/x-gwt-rpc; charset=utf-8X-GWT-Permutation: 4DE825BB25A8D7B3950D45A81EA7CD84X-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 ServicesShowing 1/25 Methods
看完上述内容,你们掌握如何映射Google Web Toolkit的攻击面的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
方法
程序
应用程序
应用
服务
生成
输出
代码
文件
目标
帮助
攻击
工具
拷贝
比如说
环境
探测
组合
安全
人员
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
挂载onedrive服务器推荐
机关网络安全保护
网络技术服务联系方式
榆林软件开发参考价
浙江物优网络技术有限公司
软件开发中最牛的岗位
不可识别数据库mdb
db2数据库参数
怎样远程linux服务器
服务器长期未重启会有什么影响
三级计算机网络技术第一道题
软通动力资深软件开发工程师薪资
软件开发专业的工作岗位
数据库下载的图片后缀
绍兴共赢网络技术怎么样
网络安全选题目的的意义
asp 创建mysql数据库
信息网络安全需要编程么
服务器被几千个人连接
ice服务器可以玩吗
百推网络安全工程师
中山电脑软件开发教程
德州德城网络安全
软件开发数据库开发
网络安全就是按照等保来做吗
广东省软件开发陈全
vps邮件服务器
建筑网络技术的三要素是什么
国家安全日网络安全ppt
绍兴吉加软件开发来电咨询