Sha256: 7f240c09e1db942463395cb70e5ed1de3d3d72166426bc638e3b62415133c837

Contents?: true

Size: 657 Bytes

Versions: 224

Compression:

Stored size: 657 Bytes

Contents

class ExploitableBackDoor
  def exploited?
    @exploited_through_setter || @exploited_through_init_with || @exploited_through_ivars
  end

  def exploited_through_setter?
    @exploited_through_setter
  end

  def exploited_through_init_with?
    @exploited_through_init_with
  end

  def exploited_through_ivars?
    self.instance_variables.any?
  end

  def init_with(command)
    # Note: this is how bad this COULD be.
    # system("#{command}")
    @exploited_through_init_with = true
  end

  def []=(command, arguments)
    # Note: this is how bad this COULD be.
    # system("#{command} #{arguments}")
    @exploited_through_setter = true
  end
end

Version data entries

224 entries across 216 versions & 17 rubygems

Version Path
safe_yaml-0.5.1 spec/support/exploitable_back_door.rb
safe_yaml-0.5 spec/support/exploitable_back_door.rb
safe_yaml-0.4 spec/support/exploitable_back_door.rb
safe_yaml-0.3 spec/support/exploitable_back_door.rb