File: exploitable_back_door.rb

package info (click to toggle)
ruby-safe-yaml 1.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 344 kB
  • ctags: 163
  • sloc: ruby: 1,997; sh: 30; makefile: 7
file content (29 lines) | stat: -rw-r--r-- 657 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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