[Owasp-webscarab] Design assistance required
Rogan Dawes
lists at dawes.za.net
Thu Aug 17 04:00:19 EDT 2006
Steve Lang wrote:
> Hi Rogan.
>
> From what you have described, and what I see in the screenshot that you
> have, it looks damn good to me.
>
I just want to make it clear:
What I have described below is what I am thinking of doing. What I have
done so far (i.e. the screenshot) is nowhere near that in functionality,
and is going to need a significant rewrite to get to what I have described.
So, what I REALLY need from people is storyboards describing workflow
(need a screen showing this, this and this, and I can click on this and
do that, and right click on that and do this, etc)
Thanks,
Rogan
>
>> -----Original Message-----
>> From: owasp-webscarab-bounces at lists.owasp.org
>> [mailto:owasp-webscarab-bounces at lists.owasp.org] On Behalf Of
>> Rogan Dawes
>> Sent: Wednesday, 16 August 2006 7:53 p.m.
>> To: owasp-webscarab at lists.owasp.org
>> Subject: [Owasp-webscarab] Design assistance required
>>
>> Hi folks,
>>
>> Even though I have been working on WebScarab-NG for a few months
>> already, I am now looking at redesigning it ;-) And to do that
>> successfully, I need your help.
>>
>> Lots of people complain that the existing WebScarab is non-intuitive.
>> The features/plugins are pretty much isolated from each other, and do
>> not make an integrated tool. So, I am looking for suggestions
>> on how to
>> improve this situation.
>>
>> At this stage, I am aiming for conceptual descriptions of how it will
>> work. Let me give my suggestions, followed by the places
>> where I need help:
>>
>> I am thinking of having two major areas of focus, namely interactive
>> testing and automated testing.
>>
>> Interactive testing
>> ===================
>>
>> This area would cover things like the intercepting proxy, as well as
>> manually creating or editing and replaying requests. The WebServices
>> plugin would probably fit well in this area too, since it is
>> simply an
>> "assisted" manual request. I also plan to have a module that shows
>> detected forms (parsed from observed HTML), and allows you to
>> fill them,
>> submit them, and observe the results. Again, this would probably
>> classify as "assisted" manual request, I guess.
>>
>> I anticipate having a unified conversation list for conversations
>> resulting from these modules, which could be reviewed, annotated,
>> replayed, etc. There would be a table column indicating the source of
>> the conversation, much as we see now in the original WebScarab.
>>
>> Automated testing
>> =================
>>
>> This area would cover things like the spider, automated checking for
>> backups/zips of files/directories, automated checking for directory
>> index pages, the fuzzer, automated checks for Cross Site Scripting or
>> Header injection, and any other automated testing (Nikto-style,
>> perhaps?), SQL injection brute forcing, OPTIONS testing, etc
>>
>> I anticipate having individual conversation lists for each of these
>> modules, possibly filtered by batches (e.g. the most recent fuzz
>> results). Alternatively, it may make sense to have a unified list of
>> automated conversations, filterable by module, and batch?
>>
>> Common functions
>> ================
>>
>> All conversation lists would have common functionality:
>>
>> Search - The ability to reduce the number of visible
>> conversations based
>> on certain criteria. These criteria may be a simple iTunes-like text
>> filter, or it may be as complex as a BeanShell script (as
>> exists in the
>> current WebScarab)
>>
>> Compare - shows the degree of similarity between an indicated "basis"
>> conversation, and the other conversations in the list. This
>> will allow
>> you to identify "interesting" conversations amongst a group of mainly
>> identical responses. This is most useful in a fuzzing
>> situation, I guess.
>>
>> Authorisation detection/tagging - The idea here is to annotate
>> conversations with information about the user or role that the
>> conversation was executed under. By identifying (manually
>> initially, by
>> rule eventually) "transition points" where a session is
>> authenticated,
>> timed out, etc, we can indicate what user/role was in force when a
>> particular conversation occurred. This should be useful to highlight
>> access to information by anonymous users, access to sensitive
>> information by less-privileged users, etc. I expect that we should be
>> able to handle HTTP authentication, session cookies, and form
>> variables
>> without too much difficulty. One thing this might be used for is to
>> construct an "access matrix", showing what "functions" each user
>> accessed, and whether that access was successful or not.
>>
>> Marking bogus conversations - one unfortunate result from
>> automated (as
>> well as manual) testing, is the introduction of "bogus"
>> conversations.
>> This is most prevalent when the server returns "friendly"
>> error messages
>> - i.e. "200 Not found", instead of "404 Not found". It would
>> be useful
>> to be able to either detect these automatically, or mark them
>> manually,
>> so that they would not be considered by some of the other plugins, or
>> not clutter up the conversation lists.
>>
>> Marking findings - Ultimately, what WebScarab is intended to do is
>> support a user in finding vulnerabilities. These vulnerabilities
>> manifest themselves in (sequences of) conversations, which
>> comprise the
>> evidence of the vulnerability. This feature will allow the user to
>> aggregate conversations into a finding, as well as describe
>> the nature
>> of the finding. This will then be able to be reported on, or
>> reviewed, etc.
>>
>> User interface elements
>> =======================
>>
>> I plan to have right-click menus for all editable text fields
>> which will
>> allow the user to replace the selected text with
>> alternatively-encoded
>> versions. This is effectively the Transcoder, but immediately
>> accessible
>> so you don't have to do so much copy and pasting.
>>
>> Summary
>> =======
>>
>> So, that was a fairly random brain dump of functionality that is
>> eventually planned for Webscarab. What I'd love to get back
>> from you all
>> is commentary on whether this looks like functionality that would be
>> useful in your testing, how you would like to see it
>> presented (UI), etc.
>>
>> You may have seen the screenshot of the current version of
>> WebScarab-NG
>> <http://dawes.za.net/rogan/webscarab/ws-ng.png>. Does this
>> look like a
>> good interface? What would you like to see? If you could make
>> mockups of
>> the desired interfaces, that would be most excellent, but even just
>> descriptions of how you would like it to work would be valuable.
>>
>> If you are interested in adding functionality to WebScarab yourself,
>> tell me what functions you'd need in order to do so.
>>
>> At this stage, I am considering a ground-up rewrite (even abandoning
>> most of the existing WS-NG), so now is the time. ANYTHING
>> goes. Let me
>> have it!
>>
>> Rogan
>> _______________________________________________
>> Owasp-webscarab mailing list
>> Owasp-webscarab at lists.owasp.org
>> http://lists.owasp.org/mailman/listinfo/owasp-webscarab
>>
>
More information about the Owasp-webscarab
mailing list