Unlocking the Toolkit: Attacking Google Web Toolkit Applications

The Google Web Toolkit (GWT) provides developers with a framework to easily create Rich Internet Applications that use AJAX. The beauty of GWT lies in the ability to write client side components in Java that get automatically compiled into optimized browser Javascript. Once deployed, this client side code has the ability to perform remote procedure calls to all implemented GWT RPC methods.

From an attacker's perspective, GWT introduces several problems. Most notably, GWT RPC request use a custom serialization protocol which renders all common web application scanners useless for testing. Additionally, GWT client side code is heavily optimized and obfuscated making reverse engineering difficult. In short, these problems have historically made testing GWT applications a tedious and manual process - until now.

This presentation will discuss a collection of tools and techniques that can be used to efficiently perform GWT applications security assessments. The talk will include live demonstrations of how to easily:

  • Unlock features within the applications user interface
  • Parse GWT RPC request payloads
  • Identify application parameters worthy of fuzzing
  • Use custom and/or existing tools, such as Burp Intruder, to fuzz GWT parameters
  • Navigate obfuscated GWT Javascript to enumerate RPC services and methods
  • Quickly create a GWT client to craft custom GWT RPC requests
  • Bypassing GWT's Cross-site Request Forgery (CSRF) protection


Presented by