Sha256: 49000bb1fe772a8765179ea9559c5391ab2d80b2cbaada93798ceb87c9dfecd2
Contents?: true
Size: 963 Bytes
Versions: 40
Compression:
Stored size: 963 Bytes
Contents
require 'brakeman/checks/base_check' class Brakeman::CheckSessionManipulation < Brakeman::BaseCheck Brakeman::Checks.add self @description = "Check for user input in session keys" def run_check tracker.find_call(:method => :[]=, :target => :session).each do |result| process_result result end end def process_result result return unless original? result index = result[:call].first_arg if input = has_immediate_user_input?(index) if params? index confidence = :high else confidence = :medium end warn :result => result, :warning_type => "Session Manipulation", :warning_code => :session_key_manipulation, :message => msg(msg_input(input), " used as key in session hash"), :user_input => input, :confidence => confidence, :cwe_id => [20] # TODO: what cwe should this be? it seems like it's looking for authz bypass end end end
Version data entries
40 entries across 40 versions & 3 rubygems