Camping 2.0 - What's left?

Bluebie, Jenna blueberry at creativepony.com
Sun May 25 20:23:31 EDT 2008


On 26/05/2008, at 10:18 AM, Aníbal Rojas wrote:

> Agreed all the previous stuff...
>
>> The reason nobody can ever spoof a session is that they can never  
>> generate
>> the needed hash because they don't have the @@state_secret piece of  
>> text
>> needed to do so, hopefully! This presents a challenge for open  
>> source. We
>> really need to raise an error if anyone tries to use CookieSessions  
>> without
>> setting the @state_secret to something other than nil or "". Maybe  
>> one good
>
> I don't think raising a error is _required_, filling the log with a
> meaningful message / advice should be enough.
>
>> solution is to add logic to CookieSessions so that if it is run  
>> without a
>> @@state_secret supplied, it creates a file containing the  
>> state_secret,
>> filling it with totally random characters. This too is a terrible  
>> security
>> risk though, as the camping app may be being run in a webserver  
>> like apache
>> or lighttpd, and that state_secret file generated may be readable  
>> by the web
>> server. If an attacker can simply download a file telling them the  
>> state
>> secret, it's game over. The only sensible default I could think of  
>> was the
>> source code to the application itself, still problematic for open  
>> source,
>> but would allow people to build apps without specifying an  
>> @state_secret and
>
> Interesting idea.
>
>> have a unique value used anyway. As they change the source code  
>> during
>> development, they would be repeatedly signed out. I couldn't figure  
>> out a
>
> I think it would be more a annoyance than a real trouble for the  
> users.
> The Web in intrinsecally broken.
>
>> way to do this well with the current release of camping.
>
> For you idea of using the source cod (I think it could be more than
> enough) I think anotehr variations could be:
>
> - Using a directory listing of the app.
> - The value of a environment variable (
> - The timestamp (or something derived) of the folder containing the  
> app.
> - The path where the app is intalled
> - etc

I don't like any of these, it has to be something a remote attacker  
cannot find out the value to. Remote attacker could potentially get a  
directory listing, guess the value of an environment variable, find  
out the timestamp from a webserver's directory listing, and guess the  
path the app is installed to. The secret HAS to be a secret, it can't  
be something anyone else has any chance of guessing or finding out  
remotely.

>
>
> -- 
> Aníbal
>
>
>>
>>>> Jenna
>>
>> On 26/05/2008, at 7:45 AM, Aria Stewart wrote:
>>
>>> On Sat, 2008-05-24 at 22:43 -0500, _why wrote:
>>>>
>>>> On Sun, May 25, 2008 at 12:25:08AM +0200, Magnus Holm wrote:
>>>>>
>>>>> * The cookie session is named Camping::Session and is placed in
>>>>> camping/session.rb. Maybe this should be called  
>>>>> Camping::CookieSession
>>>>> or???
>>>>
>>>> You know, these cookie sessions seem like they could be a problem.
>>>> A lot of sessions would contain just the hash and the user name.
>>>> So, spoof the user name and you're in, you know?
>>>
>>> Agreed, without an HMAC signature.
>>>
>>> _______________________________________________
>>> Camping-list mailing list
>>> Camping-list at rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/camping-list
>>
>> _______________________________________________
>> Camping-list mailing list
>> Camping-list at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/camping-list
>>
> _______________________________________________
> Camping-list mailing list
> Camping-list at rubyforge.org
> http://rubyforge.org/mailman/listinfo/camping-list



More information about the Camping-list mailing list