Sha256: 06d9b2f3e471864207bad25b9320281497ba6916ca53d6df8329e1e6f63543d5

Contents?: true

Size: 1.79 KB

Versions: 7

Compression:

Stored size: 1.79 KB

Contents

require 'sinatra'
require 'sinatra/contrib'

get '/' do
    cookies[:success] ||= false

    if cookies[:success] == 'true'
        <<-HTML
            <a href='/congrats'>Hi there logged-in user!</a>
        HTML
    else
        redirect '/login'
    end
end

get '/redirect/1' do
    redirect '/redirect/2'
end

get '/redirect/2' do
    redirect '/redirect/3'
end

get '/redirect/3' do
    redirect '/'
end

get '/login' do
    cookies[:preserve] = 'this'

    <<-HTML
        <form method='post' name='login_form' action="/login">
            <input name='username' value='' />
            <input name='password' type='password' value='' />
            <input name='token' type='hidden' value='secret!' />
            <input name='submit_me' type='hidden' value='submitted' />
        </form>
    HTML
end

get '/login/submit_input' do
    cookies[:preserve] = 'this'

    <<-HTML
        <form method='post' name='login_form' action="/login">
            <input name='username' value='' />
            <input name='password' type='password' value='' />
            <input name='token' type='hidden' value='secret!' />
            <input name='submit_me' type='submit' value='submitted' />
        </form>
    HTML
end

get '/hidden_login' do
    <<-HTML
        <form style='display: none' method='post' name='login_form' action="/login">
            <input name='username' value='' />
            <input name='password' type='password' value='' />
        </form>
    HTML
end

post '/login' do
    if params['username'] == 'john' && params['password'] == 'doe' &&
        params['token'] == 'secret!' && cookies[:preserve] == 'this' &&
        params['submit_me'] == 'submitted'

        cookies[:success] = true
        redirect '/redirect/1'
    else
        'Boohoo...'
    end
end

get '/congrats' do
    'Congrats!'
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
arachni-1.6.1.3 spec/support/servers/plugins/autologin.rb
arachni-1.6.1.2 spec/support/servers/plugins/autologin.rb
arachni-1.6.1.1 spec/support/servers/plugins/autologin.rb
arachni-1.6.1 spec/support/servers/plugins/autologin.rb
arachni-1.6.0 spec/support/servers/plugins/autologin.rb
arachni-1.5.1 spec/support/servers/plugins/autologin.rb
arachni-1.5 spec/support/servers/plugins/autologin.rb