Andres,

>Floyd,
>
>On Fri, Jan 8, 2010 at 7:47 AM, Floyd Fuh <floyd_...@yahoo.de> wrote:
>> Hi everybody
>>
>> I wrote a new plugin, that takes every response and
>> "cluster" them together by comparing their bodies. At the end
>> you get a summary that looks like this:
>>
>> After all, there were 38 group(s) of responses. The smallest group has 1
>> response(s)
>> (the representative of this group is response no. 21), the biggest group has
>> 36 members
>> (representative is response no 1).
>> Response group 1: 21
>> Response group 2: 24
>> Response group 3: 25
>> ...
>> Response group 38: 1 3 19-20 30 33 37 41-42 45-46 52 55 66 65 68
>> 73-74 117 120-127 130 129 128 132 162-163 165-166 184
>> . This information was found in the requests with ids 1, 21 to 29, 31 to 32,
>> 34 to 35, 38 to 40, 43 to 44, 47, 49 to 50, 53, 57, 60, 64, 80 to 82, 98,
>> 101 to 102, 107, 133 to 134, 148, 152 and 210.
>
>    I like the idea, could be useful in some cases. What were your
>motivations behind coding this plugin?
>

First of all, for small webpages it's a very easy possibility to get a first
overview which pages there are (I really like to run it with the gui and
then open results tab - KB Browser tab - clusterResponseBodies - 
Clustering Test - Summary - Response tab - rendered tab and then 
klick through all pages).

The other thing is that there are only a few possibilities to find new
vulnerabilities that are not known in the IT-Security world. I mean
especially the errorPages grep plugin is great, but if there is no error
message (or only a programmers customized error message!) how
is it possible to detect a new vulnerability? I think this is one possibility,
but of course this means some manual work.

And of course I made this because you told me to separate my 
fuzzerPlugin into seperate plugins (this will be a plugin dependency when
I'm finished ;)

What do you think?

>> I implemented it as a grep plugin, but it isn't a classical grep plugin.
>> And I think the plugin should get all responses, not only those for
>> the grep plugins.
>
>    I don't know what you mean by this, actually, grep plugins get all
>the request/responses.
>

I meant the grepResult=True option inside of the send method in xUrllib.
What was the idea behind that? I thought in this case it should get "all" 
responses, even if the send method is invoked with grepResult=False.
But maybe I'm wrong. I think I'm fine with how it is right now.

>> And of course I get a lot of these error messages:
>> The "clusterResponseBodies" plugin took more than 5 seconds to run.
>> For a plugin that should only perform pattern matching, this is too much,
>> please review its source code.
>
>    Yes, it makes sense to see these messages in plugins that use
>relative_distance a lot. I'll have to find better ways of implementing
>that algorithm. At first I used difflib.quick_ratio() , then I tried
>levenshtein, and now I'm with difflib again... I'll try to improve it
>because its used framework-wide and its sloooow.
>

Yes I saw that ;) ... Don't know what to do about that...

>> Please try it/read the code and tell me if you like it..
>
>    I think that there is a big problem with this plugin: memory
>consumption. The class attribute that holds all the different
>responses is going to grow in size at a rate that will fill 50MB of
>memory easily, and 200mb of memory if the website has some particular
>design. Do you agree?
>

Ok, my test webpage was too small, haven't seen that. Is there a better
possibility than to hold all the different responses?

I made two improvements:
- lowered default values
- Responses won't be saved if they're not going to be outputed

Could you try it again? If it still needs too much memory,
we can decrease the maxOutputedGroups again.

And another thing: Would it be ok if I modify the grep plugin errorPages?
In my test application I get >40'000 info messages, which is too much.
I think we could remove some duplicates

cheers
floyd

__________________________________________________
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.com 

Attachment: clusterResponseBodies.py
Description: Binary data

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
W3af-develop mailing list
W3af-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/w3af-develop

Reply via email to