The Burp Suite User Forum was discontinued on the 1st November 2024.

Burp Suite User Forum

For support requests, go to the Support Center. To discuss with other Burp users, head to our Discord page.

SUPPORT CENTER DISCORD

Extensions with JRuby doesn't work anymore

Tiago | Last updated: Apr 12, 2016 08:08PM UTC

I am developing burp extensions using JRuby. My code needs to use some ruby libs (require 'uri', require 'json', etc), but when I try to load my plugin in Burp's extension tab, the following error was thrown: LoadError: no such file to load -- require require at org/jruby/RubyKernel.java:937 <top> at <script>:12 org.jruby.embed.EvalFailedException: (LoadError) no such file to load -- require at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:131) at org.jruby.embed.jsr223.JRubyEngine.eval(JRubyEngine.java:118) at burp.ut.<init>(Unknown Source) at burp.pxf.a(Unknown Source) at burp.wke.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Caused by: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- require at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:937) at RUBY.<top>(<script>:12) Even when I tried to run another ruby extension from Burp App Store (Faraday for example), supposed to be working fine, I have received the same kind of error was shown as exhibited below: LoadError: no such file to load -- xmlrpc/client require at org/jruby/RubyKernel.java:937 <top> at <script>:16 org.jruby.embed.EvalFailedException: (LoadError) no such file to load -- xmlrpc/client at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:131) at org.jruby.embed.jsr223.JRubyEngine.eval(JRubyEngine.java:118) at burp.ut.<init>(Unknown Source) at burp.pxf.a(Unknown Source) at burp.wke.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Caused by: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- xmlrpc/client at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:937) at RUBY.<top>(<script>:16) I have installed all gems and my JRuby was installed using rvm.

PortSwigger Agent | Last updated: Apr 13, 2016 09:28AM UTC

We're not seeing any problems installing Faraday. Note that Faraday requires version 1.7 or later of JRuby, which might explain the problem.

Burp User | Last updated: Apr 13, 2016 11:45PM UTC

Hi Dafydd, I really appreciate your answer to my question, but I am not sure what's happening, I have all version requirements (jruby, etc), I tried to run burp/jruby using kali linux as well, but it doesn't work. The problem is that jruby or burp weren't finding the path to load ruby libs, this way when I use for example: require 'uri', the exception previously described was thrown. These issues are blocking me to finish my burp extension.

PortSwigger Agent | Last updated: Apr 14, 2016 08:01AM UTC

We testing using jruby-complete-1.7.10.jar. With this configured at Extender / Options / JRuby Environment, the Faraday extension loads without any problems.

Burp User | Last updated: Mar 19, 2017 02:33AM UTC

I can confirm I was seeing the same error message with regard to the Faraday extension being unable to load the 'xmlrpc/client' library that Tiago posted above. I tried with both JRuby 9.1.8.0 and JRuby 1.7.26, both reporting the same error. I could "require xmlrpc/client" manually via the 'jirb' repl, so I was at a loss as far as why Burp couldn't find it. Following Dafydd's advice, I grabbed "JRuby 1.7.26 Complete.jar," from jruby.org/download, and the Faraday extension loaded without any problems. Thanks for your help, Dafydd. Thanks also, Tiago, for posting this question.

Burp User | Last updated: Aug 03, 2018 09:58AM UTC