Exodus - a web application review tool

History

Exodus is derived from a number of sources. The original inspiration came from httpush, by Lluis Mora Hidalgo, which offered the ability to intercept HTTP and HTTPS connections, display the requests, and modify them on the fly.

I felt that the HTML interface to the proxy was a bad choice, since the site I was testing used forms in non-resizable frames, and I couldn't reach the Submit button to tell httpush to continue!

I changed it quite radically, creating "mangle.pl" so that it would save the conversations, and implemented a Perl/Gtk interface to review the information seen. I ended up writing a number of tools, that followed the Unix philosophy of "one tool to do a simple thing well". However, none of them really did the jobs well, and they didn't integrate well, either.
Mangle was also not very portable, using the Perl Crypt::SSLeay and Net::SSLeay bindings to OpenSSL, which I had difficulty compiling on Win32, and needing a bunch of modules from CPAN, and other places. It was a real disaster trying to install it on another machien, even for me as the creator. I eventually decided to re-implement it in Java.
Exodus is the Java version of mangle.

Why ANOTHER proxy ?

Why is this tool any different to those other proxies already available?

(OK, so there are others that have many of these attributes. Hopefully people will find this one interesting anyway! :-)

Comparison against existing tools

Exodus Dave Aitel's Spike Proxy Sverre Huseby's PenProxy @Stake WebProxy Mangle
License GPL Unknown Free? Commercial GPL
Portability Yes. Java Yes. Python Yes. Java Yes. Java No. Linux Perl and Gtk
Connection Capability HTTP and HTTPS HTTP and HTTPS HTTP HTTP and HTTPS HTTP and HTTPS
Interface Swing Browser based. Swing Swing Gtk
Interception Requests and responses Unknown Requests Requests. Responses unknown Requests and responses
Extensibility Designed to be. Yes, I'm sure. Limited. No real support Yes, but proprietary Not really

Functionality existing in Exodus today

Planned development

Strings in brackets are current priorities, but are subject to change.

Further down the line:

Source for Exodus will be released shortly, I am just cleaning it up a little. Please realise that this is my first real Java application, so if I am doing things the wrong way, please be gentle, and send me a patch rather than a flame :-)

Download

You can download Exodus here, and the source here. Exodus has been developed using NetBeans, and the source includes the forms for the GUI editor.

You may need to right click, and select "Save As", since my ISP does not have MIME-types for jar files.

Contact

Any and all comments and suggestions are welcome.

Send me mail at rdawes @ mweb.co.za, or rdawes @ deloitte.co.za

Changelog

2003/03/03