如何映射Google Web Toolkit的攻击面
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,如何映射Google Web Toolkit的攻击面,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。GWTMapGWTMap是一款针对GW
千家信息网最后更新 2025年01月21日如何映射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安全错误
数据库的锁怎样保障安全
惠州2011年戴尔服务器商用
diabetes 数据库
金山区海航软件开发定做价格
软路由搭建iptv服务器
银行软件开发人力外包
extjs 加载数据库
网络安全图片绘画一年级
浙江省教育网络安全教育平台
周转柜网络安全问题
星集网络技术有限公司
mc服务器坏了怎么修复
信息网络安全评估方式为
os服务器已经开放的端口
科来网络安全河南
网络安全就是网络上的
数据库概念 事务
成都租房子软件开发
农信社网络安全技能大赛
服务器文件传输本地
香茅皮化妆品原料数据库
计算机网络技术和新媒体
jsp程序在服务器端运行
信息服务器管理的内容
甲方如何验收软件开发进度
魔兽赛季服会开新服务器吗
泰安服务器
互联网科技下的安全产业
oushu数据库厂家
找人攻击服务器
炉石传说服务器维护