Ryan,

On Sun, Jun 7, 2009 at 12:31 PM, Ryan Dewhurst<ryandewhu...@gmail.com> wrote:
> Here is the final version. (I hope)

I just tried your plugin with http://www.bonsai-sec.com/blog/ as a
target, and it's failing to find anything. I think that the problem is
in:

            base_url = urlParser.baseUrl( fuzzableRequest.getURL() )
            wp_unique_url = urlParser.urlJoin(  base_url , '/wp-login.php' )

Which will always return http://host.tld/wp-login.php , no matter what
the fuzzableRequest.getURL() was: in my case it was
http://www.bonsai-sec.com/blog/ .

And also on the way that self._exec is ALWAYS set to false. I think
that self._exec should be set to false only after actually finding a
wordpress installation and fingerprinting it.

Please test the plugin a little more with different wordpress
installs, and then let us know how it worked out =)

PS: Please use inline for answering emails, top posting sucks.

> 2009/6/7 Ryan Dewhurst <ryandewhu...@gmail.com>:
>> Found a bug that I am working on now.
>>
>> 2009/6/7 Ryan Dewhurst <ryandewhu...@gmail.com>:
>>> w00t w00t!
>>>
>>> All tested and working!
>>>
>>> Thanks to everyone for their help especially Andres for putting up
>>> with my noobness. I will look into implementing the vulns for each
>>> version and then eventually a wp plugin version finder.
>>>
>>> Feedback and suggestions welcome! :-)
>>>
>>> 2009/6/7 Andres Riancho <andres.rian...@gmail.com>:
>>>> Ryan,
>>>>
>>>> On Sat, Jun 6, 2009 at 10:20 PM, Ryan Dewhurst<ryandewhu...@gmail.com> 
>>>> wrote:
>>>>> I decided to move over to my Linux box for the development of the
>>>>> plugin. One of the reasons I could not get the plugin to run through
>>>>> w3af was that the plugin file name was not the same as the class name.
>>>>
>>>> Ok, makes sense,
>>>>
>>>>> It now runs through w3af with out any errors. The only thing is that
>>>>> the info output is not showing in kb.
>>>>
>>>> Are you saving it to the kb?
>>>>
>>>>> Im using this which I found in another plugin:
>>>>>
>>>>>  # Save it to the kb!
>>>>>  i = info.info()
>>>>>  i.setName('WordPress version')
>>>>>  i.setURL( wp_index_url )
>>>>>  i.setId( http_response.id )
>>>>>  i.setDesc( 'WordPress version "'+ self._version +'" found in the
>>>>> index header.' )
>>>>>  kb.kb.append( self, 'WordPress version', i )
>>>>>  om.out.information( i.getDesc() )
>>>>
>>>> That seems to be enough to save the version to the kb,
>>>>
>>>>> Attached is the latest version.
>>>>
>>>> I applied some minor changes:
>>>>
>>>> - Changed the name of the plugin to wordpress_plugin, because
>>>> wpvChecker is cryptic to users.
>>>> - The code has some serious errors, that are possibly the reason you
>>>> don't see anything:
>>>>
>>>>    d...@brick:~/w3af/w3af/trunk$ pylint
>>>> --rcfile=../extras/misc/pylint.rc /tmp/wordpress_version.py  -e
>>>>    ************* Module wordpress_version
>>>>    E: 98:wordpress_version.discover: Undefined variable 're'
>>>>    E:109:wordpress_version.discover: Undefined variable 'http_response'
>>>>    E:150:wordpress_version.discover: Undefined variable 'http_response'
>>>>
>>>> Have you tested the plugin? Do you get a big traceback when running it?
>>>>
>>>> - This line in the fingerprint DB:
>>>>
>>>>                    ('/wp-admin/async-upload.php','200','2.5'),
>>>>
>>>> Doesn't match this line:
>>>>
>>>>                    if self._wp_fingerprint[1] == 200 and not 
>>>> is_404(response):
>>>>
>>>> '200' and 200 aren't equal in python:
>>>>
>>>>                    >>> '200' == 200
>>>>                    False
>>>>
>>>> You should change your database to 200, instead of '200' where necessary.
>>>>
>>>> - One more detail, is that it would be nice to compare the version in
>>>> the HTML header, with the fingerprinted version, and report if they
>>>> differ.
>>>>
>>>> You're on the right path, I think that with these recommendations
>>>> you'll be able to complete the development of your first w3af plugin
>>>> =)
>>>>
>>>> PS: You should answer inline.
>>>>
>>>>> Ryan
>>>>>
>>>>> 2009/6/6 Andres Riancho <andres.rian...@gmail.com>:
>>>>>> Ryan,
>>>>>>
>>>>>> On Sat, Jun 6, 2009 at 6:22 PM, Ryan Dewhurst<ryandewhu...@gmail.com> 
>>>>>> wrote:
>>>>>>>>Also delete the .pyc file, and no reinstall is needed.
>>>>>>>
>>>>>>> There was none.
>>>>>>>
>>>>>>>> Yes, many.
>>>>>>>> You are missing some required methods, like setOptions, getOptions,
>>>>>>>> getLongDescription, etc. Please see other plugins for a complete list,
>>>>>>>
>>>>>>> They are already in the code:
>>>>>>>
>>>>>>> # W3af options and output
>>>>>>>    def getOptions( self ):
>>>>>>>        '''
>>>>>>>        @return: A list of option objects for this plugin.
>>>>>>>        '''
>>>>>>>        ol = optionList()
>>>>>>>        return ol
>>>>>>>
>>>>>>>    def setOptions( self, OptionList ):
>>>>>>>        '''
>>>>>>>        This method sets all the options that are configured using the
>>>>>>> user interface
>>>>>>>        generated by the framework using the result of getOptions().
>>>>>>>
>>>>>>>        @parameter OptionList: A dictionary with the options for the 
>>>>>>> plugin.
>>>>>>>        @return: No value is returned.
>>>>>>>        '''
>>>>>>>        pass
>>>>>>>
>>>>>>>    def getPluginDeps( self ):
>>>>>>>        '''
>>>>>>>        @return: A list with the names of the plugins that should be
>>>>>>> runned before the
>>>>>>>        current one.
>>>>>>>        '''
>>>>>>>        return []
>>>>>>>
>>>>>>>    def getLongDesc( self ):
>>>>>>>        '''
>>>>>>>        @return: A DETAILED description of the plugin functions and 
>>>>>>> features.
>>>>>>>        '''
>>>>>>>        return '''
>>>>>>>        This plugin searches for client side differences between
>>>>>>> different versions of WordPress.
>>>>>>>        '''
>>>>>>
>>>>>> Then try to run w3af from a console:
>>>>>>
>>>>>> in cmd.exe run python w3af_console.py
>>>>>>
>>>>>>>
>>>>>>> 2009/6/6 Andres Riancho <andres.rian...@gmail.com>:
>>>>>>>> Ryan,
>>>>>>>>
>>>>>>>> On Sat, Jun 6, 2009 at 1:57 PM, Ryan Dewhurst <ryandewhu...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>>> I moved the wpvchecker.py file into the /plugin/discovery folder. When
>>>>>>>>> I try to launch w3af I get an error (screenshot attached), the prompt
>>>>>>>>> only lasts a few seconds so could not copy/paste the full error
>>>>>>>>> output.
>>>>>>>>>
>>>>>>>>> When I remove the wpvchecker.py file out of the dir the error persists
>>>>>>>>> and I have to un/re install w3af to get it working again.
>>>>>>>>
>>>>>>>> Also delete the .pyc file, and no reinstall is needed.
>>>>>>>>
>>>>>>>>> Any ideas?
>>>>>>>>
>>>>>>>> Yes, many.
>>>>>>>> You are missing some required methods, like setOptions, getOptions,
>>>>>>>> getLongDescription, etc. Please see other plugins for a complete list,
>>>>>>>>
>>>>>>>>> Thanks again,
>>>>>>>>> Ryan
>>>>>>>>>
>>>>>>>>> 2009/6/6 Andres Riancho <andres.rian...@gmail.com>:
>>>>>>>>>> Ryan,
>>>>>>>>>>
>>>>>>>>>> On Sat, Jun 6, 2009 at 10:59 AM, Ryan Dewhurst 
>>>>>>>>>> <ryandewhu...@gmail.com> wrote:
>>>>>>>>>>> Hello,
>>>>>>>>>>> Sorry its been so long with the wrodpress version checker plugin, 
>>>>>>>>>>> had
>>>>>>>>>>> some life problems.
>>>>>>>>>>
>>>>>>>>>> No problem man, I hope things are going better now.
>>>>>>>>>>
>>>>>>>>>>> Anyway...
>>>>>>>>>>>
>>>>>>>>>>> I have come to a logic problem which I cannot seem to solve and was
>>>>>>>>>>> wondering if any one could give me some pointers...
>>>>>>>>>>>
>>>>>>>>>>> Versions '2.5', '2.3.1, 2.3.2 or 2.3.3' and '2.2' are detected by a
>>>>>>>>>>> file/image being present i.e status 200
>>>>>>>>>>>
>>>>>>>>>>> I cannot figure out how to check for this while using the
>>>>>>>>>>> self._wp_fingerprint array.
>>>>>>>>>>
>>>>>>>>>> The for loop that works with the array looks like this:
>>>>>>>>>>
>>>>>>>>>>                for data in self._wp_fingerprint:
>>>>>>>>>>
>>>>>>>>>>                    # Complete URL to test, url+file
>>>>>>>>>>                    test_URL = urlParser.urlJoin( base_url,
>>>>>>>>>> self._wp_fingerprint[0] )
>>>>>>>>>>
>>>>>>>>>>                    if self._wp_fingerprint[1] in response:
>>>>>>>>>>                        version = self._wp_fingerprint[2]
>>>>>>>>>>                        break
>>>>>>>>>>                    else:
>>>>>>>>>>                        version = 'Version lower than 2.2'
>>>>>>>>>>
>>>>>>>>>> But there are some parts missing, like actually requesting to the
>>>>>>>>>> server the test_URL. On the other part, the "200" logic could be
>>>>>>>>>> easily done like this:
>>>>>>>>>>
>>>>>>>>>>                    if self._wp_fingerprint[1] == 200 and not 
>>>>>>>>>> is_404(response):
>>>>>>>>>>                        # it was found!
>>>>>>>>>>                    elif self._wp_fingerprint[1] in response:
>>>>>>>>>>                        version = self._wp_fingerprint[2]
>>>>>>>>>>                        break
>>>>>>>>>>                    else:
>>>>>>>>>>                        version = 'Version lower than 2.2'
>>>>>>>>>>
>>>>>>>>>> To make this work, you should change the '' in the fingerprint array
>>>>>>>>>> by a 200, and it should all work.
>>>>>>>>>>
>>>>>>>>>>> Here is the code so far, I have not yet tested it out, but should 
>>>>>>>>>>> give
>>>>>>>>>>> you a basic idea of how it will run.
>>>>>>>>>>
>>>>>>>>>> Yes, and it makes much more sense to me this way. The older version
>>>>>>>>>> was "ugly" :)
>>>>>>>>>>
>>>>>>>>>>> I was also thinking of
>>>>>>>>>>> implementing a plugin version checker as there are many plugins with
>>>>>>>>>>> vulns.
>>>>>>>>>>
>>>>>>>>>> Sure, but lets go step by step, lets finish this plugin, test it a
>>>>>>>>>> little bit, and then we can go for the next one.
>>>>>>>>>>
>>>>>>>>>>> Thank you,
>>>>>>>>>>> Ryan
>>>>>>>>>>>
>>>>>>>>>>> P.S. To test it through w3af, do I just pop the py file into the
>>>>>>>>>>> plugin folder or is there any other code to be changed?
>>>>>>>>>>
>>>>>>>>>> Yes, you have to move this file to the discovery directory and 
>>>>>>>>>> that's it.
>>>>>>>>>>
>>>>>>>>>>> 2009/5/31 Ryan Dewhurst <ryandewhu...@gmail.com>:
>>>>>>>>>>>> Just to let everyone know where I am with the plugin.
>>>>>>>>>>>>
>>>>>>>>>>>> I'm a complete n00b at re and couldnt get backbone's code to work, 
>>>>>>>>>>>> so
>>>>>>>>>>>> I read a couple of manuals and finally got it working with:
>>>>>>>>>>>> <meta name="generator" content="[Ww]ord[Pp]ress (\d\.\d\.?\d?)" />
>>>>>>>>>>>>
>>>>>>>>>>>> An explanation of what the plugin will do:
>>>>>>>>>>>> -----------------------------------------------------------
>>>>>>>>>>>>
>>>>>>>>>>>> It will first check to see if the server has the following file
>>>>>>>>>>>> "/wp-admin/index.php".
>>>>>>>>>>>>
>>>>>>>>>>>> If it does
>>>>>>>>>>>>
>>>>>>>>>>>> It will check to see whether or not the version is in the index 
>>>>>>>>>>>> header.
>>>>>>>>>>>>
>>>>>>>>>>>> If it finds the version it will store it in a variable.
>>>>>>>>>>>>
>>>>>>>>>>>> It will then run through the checks from my original code to try 
>>>>>>>>>>>> and
>>>>>>>>>>>> guess the version.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> The output will be as follows:
>>>>>>>>>>>> ------------------------------------------
>>>>>>>>>>>>
>>>>>>>>>>>> If the version is not in the index and not found with the data =
>>>>>>>>>>>> "version under 2.2"
>>>>>>>>>>>> If the version is in the index and in the data are the same =
>>>>>>>>>>>> "whatever version was found"
>>>>>>>>>>>> If the version is in the index and in the data are different =
>>>>>>>>>>>> ""Version shows as $version in index header however the data shows
>>>>>>>>>>>> $version"
>>>>>>>>>>>>
>>>>>>>>>>>> I still need to implement the data checks however my girlfriend has
>>>>>>>>>>>> fallen ill and has been admitted to hospital for an emergency
>>>>>>>>>>>> operation. I don't think I will be able to finish the plugin this
>>>>>>>>>>>> weekend as promised earlier however will still be working on it 
>>>>>>>>>>>> next
>>>>>>>>>>>> week.
>>>>>>>>>>>>
>>>>>>>>>>>> I was also thinking on listing the vulnerabilitys for each version 
>>>>>>>>>>>> (if
>>>>>>>>>>>> any) on the output.
>>>>>>>>>>>>
>>>>>>>>>>>> Ryan
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2009/5/29 Andres Riancho <andres.rian...@gmail.com>:
>>>>>>>>>>>>> Ryan,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, May 28, 2009 at 10:11 PM, Ryan Dewhurst 
>>>>>>>>>>>>> <ryandewhu...@gmail.com> wrote:
>>>>>>>>>>>>>> Im loooking into searching the response html of the index page 
>>>>>>>>>>>>>> for the
>>>>>>>>>>>>>> following string:
>>>>>>>>>>>>>> <meta name="generator" content="WordPress $version" />
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ive tried with regular expressions and am unable to get it to 
>>>>>>>>>>>>>> work,
>>>>>>>>>>>>>
>>>>>>>>>>>>> backbone sent you a solution,
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ive read that re is bad for parsing HTML and that BeautifulSoup
>>>>>>>>>>>>>>  should be used.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Does w3af already have BeautifulSoup in its dependency list?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yes, it's in the dependency list, but we aren't using it "for 
>>>>>>>>>>>>> that".
>>>>>>>>>>>>> Long story short, please use the re =)
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ryan
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> P.S. Thanks for the advice backbone46, I'll have a look into 
>>>>>>>>>>>>>> that once
>>>>>>>>>>>>>> Ive sorted this out.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2009/5/28  <backbon...@gmail.com>:
>>>>>>>>>>>>>>> Sorry to bump in just like that in the discussion, about the 
>>>>>>>>>>>>>>> meta tag that
>>>>>>>>>>>>>>> displays
>>>>>>>>>>>>>>> the WordPress version.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Only since version 2.7 the generator function is in the core of 
>>>>>>>>>>>>>>> WordPress,
>>>>>>>>>>>>>>> on
>>>>>>>>>>>>>>> earlier versions it was only in the theme.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Just wanted to mention that. :)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>> http://insanesecurity.info
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, May 28, 2009 at 10:53 PM, Ryan Dewhurst 
>>>>>>>>>>>>>>> <ryandewhu...@gmail.com>
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Yes, I dont see why not. Should be easy enough tro implement.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> You mentioned during our email conversation that wordpress 
>>>>>>>>>>>>>>>> echos its
>>>>>>>>>>>>>>>> version number in the page head. I managed to find an example 
>>>>>>>>>>>>>>>> of it.
>>>>>>>>>>>>>>>> Your right I do have a security plugin installed which must 
>>>>>>>>>>>>>>>> have
>>>>>>>>>>>>>>>> removed it from my blog.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Here is an example:
>>>>>>>>>>>>>>>> <meta name="generator" content="WordPress 2.7.1" />
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2009/5/28 Andres Riancho <andres.rian...@gmail.com>:
>>>>>>>>>>>>>>>> > Ryan,
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>> > On Wed, May 27, 2009 at 10:18 PM, Andres Riancho
>>>>>>>>>>>>>>>> > <andres.rian...@gmail.com> wrote:
>>>>>>>>>>>>>>>> >> Ryan,
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> On Wed, May 27, 2009 at 9:58 PM, Ryan Dewhurst 
>>>>>>>>>>>>>>>> >> <ryandewhu...@gmail.com>
>>>>>>>>>>>>>>>> >> wrote:
>>>>>>>>>>>>>>>> >>> Hello,
>>>>>>>>>>>>>>>> >>> Im new to mailing lists so im not sure if this will be 
>>>>>>>>>>>>>>>> >>> sent there.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> It depends on the mailing list. This one is configured to 
>>>>>>>>>>>>>>>> >> accept
>>>>>>>>>>>>>>>> >> attachments,
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >>> I'll have a look into intergrating the script into w3af 
>>>>>>>>>>>>>>>> >>> over the next
>>>>>>>>>>>>>>>> >>> couple of days and hopefully have a working version by the 
>>>>>>>>>>>>>>>> >>> weekend.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> Excellent, if you need ANY help, just let us know.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >>> The script is quite simple once you have the gathered the 
>>>>>>>>>>>>>>>> >>> nesesary
>>>>>>>>>>>>>>>> >>> data. I went through versions 2.2 to 2.7.1 and manually 
>>>>>>>>>>>>>>>> >>> found client
>>>>>>>>>>>>>>>> >>> side differences in most of them, I also used the official 
>>>>>>>>>>>>>>>> >>> changelogs
>>>>>>>>>>>>>>>> >>> to help identify them.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> Ohhh, you are the guy that wrote that blog post with the 
>>>>>>>>>>>>>>>> >> "diffs" of
>>>>>>>>>>>>>>>> >> different wordpress release packages?
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >>> The client side differences are in files such as CSS, 
>>>>>>>>>>>>>>>> >>> javascript and
>>>>>>>>>>>>>>>> >>> HTML. Some versions did not have any differences apart 
>>>>>>>>>>>>>>>> >>> from having
>>>>>>>>>>>>>>>> >>> extra files, which can easliy be identified with HTTP 
>>>>>>>>>>>>>>>> >>> response codes.
>>>>>>>>>>>>>>>> >>>
>>>>>>>>>>>>>>>> >>> It works as such...
>>>>>>>>>>>>>>>> >>>
>>>>>>>>>>>>>>>> >>> Starting from version 2.7.1 (latest), the script tries to 
>>>>>>>>>>>>>>>> >>> find
>>>>>>>>>>>>>>>> >>> something that 2.7 doesnt have, if it finds that something 
>>>>>>>>>>>>>>>> >>> then the
>>>>>>>>>>>>>>>> >>> script stops and echos the version number.
>>>>>>>>>>>>>>>> >>>
>>>>>>>>>>>>>>>> >>> If the script doesnt find the difference it moves onto 
>>>>>>>>>>>>>>>> >>> identifying the
>>>>>>>>>>>>>>>> >>> next version, i.e. does 2.7 have something the earlier 
>>>>>>>>>>>>>>>> >>> version doesnt
>>>>>>>>>>>>>>>> >>> have. and so on and so forth.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> Ok, makes sense.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> Some comments regarding your code:
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> - w3af uses PEP-8, with among other things says 4-spaces for
>>>>>>>>>>>>>>>> >> indentations. Your code has 1-space (?) indentations. 
>>>>>>>>>>>>>>>> >> Please correct
>>>>>>>>>>>>>>>> >> that.
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> - The code is pretty simple, but i think it could be done 
>>>>>>>>>>>>>>>> >> in a better
>>>>>>>>>>>>>>>> >> way. Having that many functions (wp22 to wp271) doesn't 
>>>>>>>>>>>>>>>> >> seem to be a
>>>>>>>>>>>>>>>> >> good option. Do you think that the code could be changed a 
>>>>>>>>>>>>>>>> >> little bit,
>>>>>>>>>>>>>>>> >> and create a database (which can be easily updated) and 
>>>>>>>>>>>>>>>> >> then use that
>>>>>>>>>>>>>>>> >> database to store the information? Example of the databse
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> self._wp_fingerprint =
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> [('/wp-includes/js/thickbox/thickbox.css','-ms-filter:'),('/wp-admin/css/farbtastic.css',
>>>>>>>>>>>>>>>> >> 'farbtastic')]
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> - Also, by default wordpress publishes the version number 
>>>>>>>>>>>>>>>> >> in every
>>>>>>>>>>>>>>>> >> page head. Maybe it would be a good idea to parse that, and 
>>>>>>>>>>>>>>>> >> compare it
>>>>>>>>>>>>>>>> >> with the result of the fingerprinting. What do you think?
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>> > A good idea would be to have a first step, before all the 
>>>>>>>>>>>>>>>> > version
>>>>>>>>>>>>>>>> > specific checks, that verifies something that's true for all 
>>>>>>>>>>>>>>>> > wordpress
>>>>>>>>>>>>>>>> > installations (some X file has to be present) before even 
>>>>>>>>>>>>>>>> > starting the
>>>>>>>>>>>>>>>> > fingerprinting. Could this be done?
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>> >> Cheers,
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >>> Ryan
>>>>>>>>>>>>>>>> >>>
>>>>>>>>>>>>>>>> >>>
>>>>>>>>>>>>>>>> >>> 2009/5/28 Andres Riancho <andres.rian...@gmail.com>:
>>>>>>>>>>>>>>>> >>>> Ryan,
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> On Wed, May 27, 2009 at 5:07 PM, Ryan Dewhurst
>>>>>>>>>>>>>>>> >>>> <ryandewhu...@gmail.com> wrote:
>>>>>>>>>>>>>>>> >>>>> Hello,
>>>>>>>>>>>>>>>> >>>>> I have developed a python script that can detect the 
>>>>>>>>>>>>>>>> >>>>> version of a
>>>>>>>>>>>>>>>> >>>>> wordpress installation. I think it would fit well within 
>>>>>>>>>>>>>>>> >>>>> w3af,
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> Yes, it seems that it's something good to have in the 
>>>>>>>>>>>>>>>> >>>> framework.
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> I have like a ton of questions about how it works, could 
>>>>>>>>>>>>>>>> >>>> you please
>>>>>>>>>>>>>>>> >>>> send the script (as it is) to this mailing list for us to 
>>>>>>>>>>>>>>>> >>>> read it?
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>> the
>>>>>>>>>>>>>>>> >>>>> only problem being is that I have been unable to find a 
>>>>>>>>>>>>>>>> >>>>> plugin
>>>>>>>>>>>>>>>> >>>>> development manual to be able to implement my script.
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> There is no development manual :(
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> For the type of feature that you want to add, the correct 
>>>>>>>>>>>>>>>> >>>> thing is to
>>>>>>>>>>>>>>>> >>>> use a discovery plugin. discovery plugins are simple, 
>>>>>>>>>>>>>>>> >>>> they follow
>>>>>>>>>>>>>>>> >>>> these rules:
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> - the entry point is the discover method
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> - the discover method takes a fuzzable request object as 
>>>>>>>>>>>>>>>> >>>> a parameter,
>>>>>>>>>>>>>>>> >>>> and returns a list of fuzzable requests
>>>>>>>>>>>>>>>> >>>> (fuzzable requests are representations of GET/POST 
>>>>>>>>>>>>>>>> >>>> requests, which
>>>>>>>>>>>>>>>> >>>> represent links, and forms)
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> - the discover method is called several times in the same 
>>>>>>>>>>>>>>>> >>>> scan, with
>>>>>>>>>>>>>>>> >>>> the different links that (for example) the webSpider 
>>>>>>>>>>>>>>>> >>>> finds.
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> I think that the best thing you can do is to read one or 
>>>>>>>>>>>>>>>> >>>> two
>>>>>>>>>>>>>>>> >>>> discovery
>>>>>>>>>>>>>>>> >>>> plugins (my recommendations are discovery.crossDomain and
>>>>>>>>>>>>>>>> >>>> discovery.userDir), and start building your own plugin 
>>>>>>>>>>>>>>>> >>>> based on one
>>>>>>>>>>>>>>>> >>>> of
>>>>>>>>>>>>>>>> >>>> those.
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>> Is there a dev manual out there?
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> No
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>> Does any one have some tips/advice on writting a plugin?
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> Yes, see above,
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>> Does any one want me to send them the script for them to 
>>>>>>>>>>>>>>>> >>>>> develop the
>>>>>>>>>>>>>>>> >>>>> plugin?
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> You should develop the plugin yourself, is fun and good 
>>>>>>>>>>>>>>>> >>>> for the
>>>>>>>>>>>>>>>> >>>> project =)
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> Cheers,
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>> Thank you,
>>>>>>>>>>>>>>>> >>>>> Ryan
>>>>>>>>>>>>>>>> >>>>>
>>>>>>>>>>>>>>>> >>>>>
>>>>>>>>>>>>>>>> >>>>> ------------------------------------------------------------------------------
>>>>>>>>>>>>>>>> >>>>> Register Now for Creativity and Technology (CaT), June 
>>>>>>>>>>>>>>>> >>>>> 3rd, NYC. CaT
>>>>>>>>>>>>>>>> >>>>> is a gathering of tech-side developers & brand creativity
>>>>>>>>>>>>>>>> >>>>> professionals. Meet
>>>>>>>>>>>>>>>> >>>>> the minds behind Google Creative Lab, Visual Complexity, 
>>>>>>>>>>>>>>>> >>>>> Processing,
>>>>>>>>>>>>>>>> >>>>> &
>>>>>>>>>>>>>>>> >>>>> iPhoneDevCamp as they present alongside digital 
>>>>>>>>>>>>>>>> >>>>> heavyweights like
>>>>>>>>>>>>>>>> >>>>> Barbarian
>>>>>>>>>>>>>>>> >>>>> Group, R/GA, & Big Spaceship. 
>>>>>>>>>>>>>>>> >>>>> http://p.sf.net/sfu/creativitycat-com
>>>>>>>>>>>>>>>> >>>>> _______________________________________________
>>>>>>>>>>>>>>>> >>>>> W3af-develop mailing list
>>>>>>>>>>>>>>>> >>>>> W3af-develop@lists.sourceforge.net
>>>>>>>>>>>>>>>> >>>>> https://lists.sourceforge.net/lists/listinfo/w3af-develop
>>>>>>>>>>>>>>>> >>>>>
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>> --
>>>>>>>>>>>>>>>> >>>> Andrés Riancho
>>>>>>>>>>>>>>>> >>>> Founder, Bonsai - Information Security
>>>>>>>>>>>>>>>> >>>> http://www.bonsai-sec.com/
>>>>>>>>>>>>>>>> >>>> http://w3af.sf.net/
>>>>>>>>>>>>>>>> >>>>
>>>>>>>>>>>>>>>> >>>
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >> --
>>>>>>>>>>>>>>>> >> Andrés Riancho
>>>>>>>>>>>>>>>> >> Founder, Bonsai - Information Security
>>>>>>>>>>>>>>>> >> http://www.bonsai-sec.com/
>>>>>>>>>>>>>>>> >> http://w3af.sf.net/
>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>> > --
>>>>>>>>>>>>>>>> > Andrés Riancho
>>>>>>>>>>>>>>>> > Founder, Bonsai - Information Security
>>>>>>>>>>>>>>>> > http://www.bonsai-sec.com/
>>>>>>>>>>>>>>>> > http://w3af.sf.net/
>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>>>>>>> Register Now for Creativity and Technology (CaT), June 3rd, 
>>>>>>>>>>>>>>>> NYC. CaT
>>>>>>>>>>>>>>>> is a gathering of tech-side developers & brand creativity 
>>>>>>>>>>>>>>>> professionals.
>>>>>>>>>>>>>>>> Meet
>>>>>>>>>>>>>>>> the minds behind Google Creative Lab, Visual Complexity, 
>>>>>>>>>>>>>>>> Processing, &
>>>>>>>>>>>>>>>> iPhoneDevCamp as they present alongside digital heavyweights 
>>>>>>>>>>>>>>>> like
>>>>>>>>>>>>>>>> Barbarian
>>>>>>>>>>>>>>>> Group, R/GA, & Big Spaceship. 
>>>>>>>>>>>>>>>> http://p.sf.net/sfu/creativitycat-com
>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>> W3af-develop mailing list
>>>>>>>>>>>>>>>> W3af-develop@lists.sourceforge.net
>>>>>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/w3af-develop
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Andrés Riancho
>>>>>>>>>>>>> Founder, Bonsai - Information Security
>>>>>>>>>>>>> http://www.bonsai-sec.com/
>>>>>>>>>>>>> http://w3af.sf.net/
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Andrés Riancho
>>>>>>>>>> Founder, Bonsai - Information Security
>>>>>>>>>> http://www.bonsai-sec.com/
>>>>>>>>>> http://w3af.sf.net/
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Andrés Riancho
>>>>>>>> Founder, Bonsai - Information Security
>>>>>>>> http://www.bonsai-sec.com/
>>>>>>>> http://w3af.sf.net/
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Andrés Riancho
>>>>>> Founder, Bonsai - Information Security
>>>>>> http://www.bonsai-sec.com/
>>>>>> http://w3af.sf.net/
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Andrés Riancho
>>>> Founder, Bonsai - Information Security
>>>> http://www.bonsai-sec.com/
>>>> http://w3af.sf.net/
>>>>
>>>
>>
>



-- 
Andrés Riancho
Founder, Bonsai - Information Security
http://www.bonsai-sec.com/
http://w3af.sf.net/

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
W3af-develop mailing list
W3af-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/w3af-develop

Reply via email to