Sha256: 90c9a98aebaa739f949b648a0cdfc3af3392ad5e18655a08ca3476df27a43f3c

Contents?: true

Size: 689 Bytes

Versions: 14

Compression:

Stored size: 689 Bytes

Contents

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.io/terms.html

require 'sqreen/rules_callbacks/shell'

module Sqreen
  module Rules
    # Look for Shell injections in system like calls
    class SystemShellCB < ShellCB
      alias initial_pre pre
      def pre(inst, *args, &block)
        return if args.size == 0
        cmd = args[0]
        if cmd.is_a?(Hash)
          # skip optional env arguments
          return unless args.size > 1
          cmd = args[1]
        end
        # skip [cmd, argv0] arguments
        return if cmd.is_a?(Array)
        initial_pre(inst, cmd, &block)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
sqreen-0.8.11465220943-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.8.11465220943 lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.8.01464630418-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.8.01464630418 lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01464629603-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01464629603 lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01462198090-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01462198090 lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01461829538-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01461829538 lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01461767359-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01461767359 lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01461158029-java lib/sqreen/rules_callbacks/system_shell.rb
sqreen-0.7.01461158029 lib/sqreen/rules_callbacks/system_shell.rb