GDSSecurity / GWT-Penetration-Testing-Toolset

A set of tools made to assist in penetration testing GWT applications. Additional details about these tools can be found on my OWASP Appsec DC slides available here: http://www.owasp.org/images/7/77/Attacking_Google_Web_Toolkit.ppt
220 stars 86 forks source link

GWT enum not working in GWT v7 #3

Open etdsoft opened 11 years ago

etdsoft commented 11 years ago

Hi,

Although it seems that the {HEX} file is downloaded and analysed correctly, gwtenum.py fails to enumerate any endpoints. Are you aware of any changes introduced in v7 that may be causing this? Do you think it would be easy to address? Thanks!

/cc @mwielgoszewski

twistedpair commented 10 years ago

There are many reasons why the script is failing

The only suggestion I'd have is something like egrep "'(is|can|has|get|set)[a-zA-Z0-9]+'\)" -R -oh . which gets some possible methods, but only assuming they use typical accessor names, which is not very robust.

blackbern commented 7 years ago

It seems that version 7 changed the way methods are obfuscated. In my case methods were correctly enumerated but parameters types could not be found. It seems that type obfuscation is displayed at some point. In fact, if you look for common types like "java.lang,Integer" you'll find the line which contains all types.

From there, you can find obfuscated parameters types in the function declaration. For each method identified by the script, from line 9 to the first line which starts by ^[a-z]=.* there is another parameter. The type of it is specified by the three last letters of the line.

For example: 9. ..., bUd))); 10. ..., yZk))); 11. k=... This method has 2 parameters of type bUd and yZk. As explained, these types can be found somewhere (usually at the end). It is in a single line. ... bUd='java.lang.String/1010101'; yZk='java.lang.Integer/123456789'; ...

Finally the method has a pattern like method(String,Integer).

quentinhardy commented 6 years ago

The tool (e.g. enum module) does not work on 2.5.0rc1 -:( Tested on this version.

I think the problem will appear on all greater than versions (e.g. 2.7.1, 2.8.1) -:(

darkpills commented 3 years ago

Hello, I'm currently working on a 2.7.0 version and would like to test if my changes in the script also apply to other versions. Does anyone has a recent version endpoint to test against?