Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
GWTMap — تحدد سطح الهجوم لتطبيقات GWT عن طريق استخراج نقاط نهاية RPC المبهمة وتوليد حمولات طلبات متسلسلة لاختبار الأمان. | Kitploit
أدوات/GitHubGitHub/reverseclabs/gwtmap
الهندسة العكسيةاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراق
GitHubreverseclabs/gwtmap

GWTMap

تحدد سطح الهجوم لتطبيقات GWT عن طريق استخراج نقاط نهاية RPC المبهمة وتوليد حمولات طلبات متسلسلة لاختبار الأمان.

عرض المستودع
11422منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

الوصف

GWTMap هي أداة تساعد في رسم خريطة سطح الهجوم للتطبيقات القائمة على Google Web Toolkit (GWT). الغرض من هذه الأداة هو تسهيل استخراج نقاط نهاية أي طرق خدمة مدفونة داخل الكود من جانب العميل المُشوَّش لتطبيق GWT الحديث، ومحاولة إنشاء أمثلة لحمولات طلبات GWT-RPC للتفاعل معها.

يمكن العثور على مزيد من المعلومات هنا: https://labs.f-secure.com/blog/gwtmap-reverse-engineering-google-web-toolkit-applications.

المتطلبات

يتطلب البرنامج النصي Python3 و argparse و requests للتشغيل. يمكن تثبيتها باستخدام الأمر التالي:

root@kitploit:~
python -m pip install -r requirements.txt

الاستخدام

المساعدة

root@kitploit:~
$ ./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            show this help message and exit
  --version             show program's version number and exit
  -u <TARGET_URL>, --url <TARGET_URL>
                        URL of the target GWT {name}.nocache.js bootstrap or {hex}.cache.js file
  -F <FILE>, --file <FILE>
                        path to the local copy of a {hex}.cache.js GWT permutation file
  -b <BASE_URL>, --base <BASE_URL>
                        specifies the base URL for a given permutation file in -F/--file mode
  -p <PROXY>, --proxy <PROXY>
                        URL for an optional HTTP proxy (e.g. -p http://127.0.0.1:8080)
  -c <COOKIES>, --cookies <COOKIES>
                        any cookies required to access the remote resource in -u/--url mode (e.g. 'JSESSIONID=ABCDEF; OTHER=XYZABC')
  -f <FILTER>, --filter <FILTER>
                        case-sensitive method filter for output (e.g. -f AuthSvc.checkSession)
  --basic               enables HTTP Basic authentication if require. Prompts for credentials
  --rpc                 attempts to generate a serialized RPC request for each method
  --probe               sends an HTTP probe request to test each method returned in --rpc mode
  --svc                 displays enumerated service information, in addition to methods
  --code                skips all and dumps the 're-formatted' state of the provided resource
  --color               enables console output colors
  --backup [DIR]        creates a local backup of retrieved code in -u/--url mode
  -q, --quiet           enables quiet mode (minimal output)

Example: ./gwtmap.py -u "http://127.0.0.1/example/example.nocache.js" -p "http://127.0.0.1:8080" --rpc

الاستخدام

تعداد طرق تطبيق بعيد عبر ملف bootstrap الخاص به وإنشاء نسخة احتياطية محلية من الكود (يختار التبديل عشوائياً):

root@kitploit:~
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --backup

تعداد طرق تطبيق بعيد عبر تبديل كود محدد:

root@kitploit:~
./gwtmap.py -u http://192.168.22.120/olympian/C39AB19B83398A76A21E0CD04EC9B14C.cache.js

تعداد الطرق مع توجيه حركة المرور عبر بروكسي HTTP:

root@kitploit:~
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --backup -p http://127.0.0.1:8080

تعداد طرق نسخة محلية (ملف) لأي تبديل معين:

root@kitploit:~
./gwtmap.py -F test_data/olympian/C39AB19B83398A76A21E0CD04EC9B14C.cache.js

تصفية المخرجات إلى خدمة أو طريقة معينة:

root@kitploit:~
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter AuthenticationService.login

إنشاء حمولات RPC لجميع طرق الخدمة المُصفّاة، مع مخرجات ملونة:

root@kitploit:~
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter AuthenticationService --rpc --color

اختبار تلقائي (استقصاء) طلب RPC المُنشأ لطريقة الخدمة المُصفّاة:

root@kitploit:~
./gwtmap.py -u http://192.168.22.120/olympian/olympian.nocache.js --filter AuthenticationService.login --rpc --probe

أمثلة كاملة

إنشاء طلب RPC للطريقة "testDetails"، والاستقصاء التلقائي للخدمة:

root@kitploit:~
$ ./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
تنزيل الأداة