Taras,

On Tue, May 19, 2009 at 6:59 PM, Taras P. Ivashchenko
<naplan...@gmail.com> wrote:
>
> Hi, Dimitri!
>
> Thanks for interesting in W3AF!
> How often in real there is such situation (when some input param is echoed 
> back to the browser after url decoding)?

I also think that it's a little bit strange to find, but I've found
some web apps that behave like this.

>
>> Hi guys,
>> I played with the w3af for the first time today.  I'm specifically
>> interested in the XSS scanning (crawling + fuzzing).
>>
>> It seems w3af does not catch the case when the site echoes the
>> double-encoded Javascript.
>> I added the following tests in xss.py, function _get_xss_tests :
>>
>>         # D.S  - url escaped injection string
>>
>>  xss_tests.append(('%3CSCrIPT%3Ealert%28%22RANDOMIZE%22%29%3C/SCrIPT%3E',
>> [browsers.ALL, ]))
>>
>>         # D.S  - double quoted injection string
>>
>>  
>> xss_tests.append(('%2522%253E%253Cscript%253Ealert%2528/RANDOMIZE/%2529%253C/script%253E',
>> [browsers.ALL, ]))
>>
>> then it does pick it up.
>>
>> Here's the PHP file that I used to test it:
>>
>> <?php
>>   $param = $_GET['param'];
>>   echo "Initial param: $param<BR>\n";
>>   $param_esc = urldecode($param);
>>   echo "Param decoded: $param_esc <BR>\n";
>>   // compose the URL to the current page
>>   $url = $_SERVER{'HTTPS'} ? 'https://' : 'http://';
>>   $url .= $_SERVER{'SERVER_NAME'};
>>   if ($_SERVER{'SERVER_PORT'}) {
>>     $url .= ":" . $_SERVER{'SERVER_PORT'};
>>   }
>>   $url .= $_SERVER{'PHP_SELF'};
>>   if ($_SERVER{'QUERY_STRING'}) {
>>     $url .= '?' . $_SERVER{'QUERY_STRING'};
>>   } else {
>>     $url .= '?' . 'param=a';
>>   }
>>   echo '<A href="' . $url . "\">$url</A>";
>> ?>
>>
>> and here's the related w3af output with the added tests:
>>
>> Starting xss plugin execution.
>> Cross Site Scripting was found at: "[URL]", using HTTP method GET. The sent
>> data was:
>> "param=%252522%25253E%25253Cscript%25253Ealert%252528/9v5SFsQ4yG8Wd/%252529%25253C/script%25253E".
>> This vulnerability affects ALL browsers. This vulnerability was found in the
>> request with id 45.
>>
>> One request - would it be possible to add an option in the audit config xss:
>> set numberOfChecks all
>> so that when you are modifying the source you would not have to worry about
>> the number of tests you run.  It would be also interesting to give each test
>> a short but descriptive name (like "double.enc") and allow the user to
>> specify exactly which tests they want to run.
>>
>> Cheers, may the brute force be with you! :)
>>
>> Dimitri
>>
>
>
> --
> Тарас Иващенко (Taras Ivashchenko), OSCP
> www.securityaudit.ru
> ----
> "Software is like sex: it's better when it's free." - Linus Torvalds
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables
> unlimited royalty-free distribution of the report engine
> for externally facing server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> 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/

------------------------------------------------------------------------------
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 asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
W3af-develop mailing list
W3af-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/w3af-develop

Reply via email to