| 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 |