WebApp Sec mailing list archives

New version of WebScarab released


From: Rogan Dawes <discard () dawes za net>
Date: Fri, 23 Jun 2006 13:30:31 +0200

Hi folks,

I have made a new release of WebScarab available on Sourceforge, to celebrate it being placed in position 35 of Fyodor's annual-ish pen testing tools survey.

You can download it here:

<http://sourceforge.net/project/showfiles.php?group_id=64424&package_id=61823>

There are quite a few smallish changes under the hood, which you can see in the associated Changelog. I'll summarise the more interesting ones here:

BugFixes
========

The Parsed Request Editor would corrupt headers/parameters where the name contained url-encoded characters. We would url-decode the name to show it in the more user-friendly manner, but we didn't reencode it before sending it to the server.

Enhancements
============

WebScarab now has a logo! ;-) Thanks to Andrew van der Stock and Larry Casey for their assistance in getting this done.

Probably the most visible change is a new Memory utilisation widget that runs across the bottom of the UI. This allows users to monitor their memory utilisation, and save their session prior to running out of memory. It will also change color from green to yellow to red when one approaches the limit. (Yes, I know WebScarab has some pretty serious memory leaks)

There is a new Lite version of WebScarab, which only shows the Summary page, and the Proxy Intercept tab. Some folks have commented that WebScarab is intimidating to new users, with all the options. This interface is intended to address those concerns. Note that it is not the default, and needs to be invoked as "java -jar webscarab.jar Lite", in order to be activated.

A related change is a hidden option to discard any conversations where the URL matches a user-supplied regular expression. Again, for new users, things like images, javascripts(?), Cascading Style Sheets, etc simply clutter the the summary, and are confusing. By adding a property to the webscarab.properties file in the user.home directory, one can enable this feature. For example:

WebScarab.dropRegex=.*\\.(gif|jpg|png|css)$

There is a hidden option to change the layout of the Conversation windows. Previously I polled list members to get their preferences, either Request above Response, or Request next to Response. I got support for both variations, so I implemented a hot-key to switch between them, namely Ctrl-T.

The underlying HTTP engine has been reworked to support authentication internally, rather than punting and letting the browser handle it. WebScarab now maintains a set of credentials, and uses them automatically when appropriate. This means that WebScarab can now support NTLM-authentication, thanks to code taken from the jCIFS project.

The Summary now defaults to sorting in reverse. This means that the most recent conversations appear at the top of the table, instead of at the bottom. It is easy to change this (non-permanently, unfortunately), by clicking on the column headers to choose your preferred sort order.

The Text Pane in the conversation view now has reworked Search capabilities. Now if you press Ctrl-F, you get a FireFox-like search bar, that highlights all matches for your search as you type it. Most interestingly, it also supports regular expressions, which means that you can find an unknown piece of text between two known parts. It will also automatically scroll the text pane to show the first match if it is not on screen. This is best used with a regex group that matches the text that you are interested in, as only the matching group/s will be highlighted.

SSL Client Certificate management has also been reworked. WebScarab now supports using SSL Client certificates from PKCS#11 devices (please let me know if you have any trouble with this), as well as from PKCS#12 files.

The HttpUrl class has been reworked to not accept whitespace in URL's. This was important, because parsing malformed HTML might result in corruption of the user's session, preventing later reloading of the session.

Some minor tweaks were made to the HTML pane, so that images would not be shown. Previously, images would be loaded from the originating server, if the HTML included a BASE parameter, or if the URL was absolute.

Manual Intercept:

The buttons have been moved around a bit, to make them a bit more obvious/intuitive, hopefully.

Plugins
=======

Spider plugin:

Now understands relative paths in Location headers. (I don't think this is according to the spec, but it is common enough to ned

SessionID Plugin:

You can now clear a list of sessionids, if you want to take a new/different sample.

You can also export the currently selected samples, for external manipulation in e.g. a spreadsheet, etc.

It is also possible to extract more than one piece of a sessionid at one time, by using multiple groups. The previous behaviour was simply to concatenate each of the matching groups into one long string, and analyse that. Now we capture the original session id, as well as new sessionids that are made up only of the matching groups. In other words, you might expect to see "localhost/ JSESSIONID", "localhost/ JSESSIONID 1", "localhost/ JSESSIONID 2", etc, if you used a regular expression like ..(....)..(....)..* to capture characters 3-6 and 9-12.

There are also statistics reported from the calculated values, showing the smallest value, the largest value, and the scale of the numbers in scientific notation.

Extension Checking:

There is a new plugin, contributed by Meder Kydyraliev, which allows the operator to selectively check URL's for variants by adding an extension. For example, by adding .bak, .old, ~, etc, one may be able to find older versions of pages that would not be executed on the server, but returned in clear to the browser. You can also check directories for archives from which they might have been created. e.g. myapp/ might become myapp.zip, myapp.tar, myapp.tar.gz, etc.

Fuzzer plugin:

The fuzzer plugin now has a table of conversations collected during the most recent run. You view the conversation details by double-clicking on a row, as one would expect, and step forward and backwards through the table. This makes it a lot easier to review the results.

The fuzzer now supports a new type of fuzz source, generated from a reduced regular expression. By reduced, I mean that you can't use . (any character), and * (variable numbers of characters). However, you can use ranges [A-Z], counts {3}, etc. WebScarab will then generate a list of all strings that match the regular expression.

As always feedback is welcome, preferably on the owasp-webscarab list at lists.sourceforge.net.

Thanks

Rogan

-------------------------------------------------------------------------
Sponsored by: Watchfire

Cross-Site Scripting (CSS) is one of the most common application-level attacks that hackers use to sneak into web applications today. This whitepaper will discuss how traditional CSS attacks are performed, how to secure your site against these attacks and check if your site is protected. Cross-Site Srcipting Explained - Download this whitepaper today!

https://www.watchfire.com/securearea/whitepapers.aspx?id=701300000007tAL
--------------------------------------------------------------------------


Current thread: