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

JRuby + Swing: Stderr doesn't go to UI until extension reload

Jonathon | Last updated: Jul 06, 2015 02:19AM UTC

Burp 1.6.20, tried JRuby 1.7.12 and 9.0.0.0.rc1. In registerExtenderCallbacks, I instantiate a class that creates a Swing UI for my extension's configuration. The config UI creates a DefaultTableModel to hold my config data and JButtons for adding and removing rows. The JButton add/remove actionlisteners call a method in a Ruby class that reads the table data from the config UI's DefaultTableModel. So far, so good. Here's the weirdness: When an exception is triggered in the config UI class or in a downstream method (e.g. the method called by the JButton action listener), the exception's output does not appear in the Burp UI. To get it to show up in the Burp UI, I need to pass the Burp OutputStream callbacks to the config UI initializer (i.e. J::System.setErr(J::PrintStream.new(caller.callbacks.getStderr()))) and then reload the extension. If I restart Burp, exceptions won't show up in the Burp UI until I reload the extension again. This could very well be caused by my inexperience in programming swing GUIs. I've been banging my head on this for two days, so any help would be appreciated.

PortSwigger Agent | Last updated: Jul 07, 2015 07:56AM UTC