views:

43

answers:

1

Hi all,

I'm looking for an alternative to that code:

 expl = eval "BeEF::Modules::Exploits::#{klass.capitalize}.new"

Here the eval is totally insecure. Is there an alternative I could use to generate dynamically classes without using eval? As in, klass is always different. So my code stays generic.

Thanks for your time.

+6  A: 

You can use Module#const_get:

expl = BeEF::Modules::Exploits.const_get(klass.capitalize).new
Magnus Holm