require 'sinatra' require 'sinatra/contrib' get '/' do <<-EOHTML Link Form Cookie Header EOHTML end get "/link" do <<-EOHTML Link Link Link EOHTML end get "/link/no" do default = 'default' return if !params['input'].start_with?( default ) "Vuln" end get "/link/single" do default = 'default' return if !params['input'].start_with?( default ) "Vuln" end get "/link/double" do default = 'default' return if !params['input'].start_with?( default ) "Vuln" end get "/form" do <<-EOHTML
EOHTML end get "/form/no" do default = 'default' return if !params['input'] || !params['input'].start_with?( default ) "Vuln" end get "/form/single" do default = 'default' return if !params['input'] || !params['input'].start_with?( default ) "Vuln" end get "/form/double" do default = 'default' return if !params['input'] || !params['input'].start_with?( default ) "Vuln" end get "/cookie" do <<-EOHTML Cookie Cookie Cookie EOHTML end get "/cookie/no" do default = 'cookie value' cookies['cookie'] ||= default return if !cookies['cookie'].start_with?( default ) "Vuln" end get "/cookie/single" do default = 'cookie value' cookies['cookie1'] ||= default return if !cookies['cookie1'].start_with?( default ) "Vuln" end get "/cookie/double" do default = 'cookie value' cookies['cookie2'] ||= default return if !cookies['cookie2'].start_with?( default ) "Vuln" end get "/header" do <<-EOHTML Header Header Header EOHTML end get "/header/no" do default = 'arachni_user' return if !env['HTTP_USER_AGENT'] || !env['HTTP_USER_AGENT'].start_with?( default ) "Vuln" end get "/header/single" do default = 'arachni_user' return if !env['HTTP_USER_AGENT'] || !env['HTTP_USER_AGENT'].start_with?( default ) "Vuln" end get "/header/double" do default = 'arachni_user' return if !env['HTTP_USER_AGENT'] || !env['HTTP_USER_AGENT'].start_with?( default ) "Vuln" end