Sqlite-jdbc and jython
I am trying to do a Python Burp Suite extension (with jython 2.7) and I want to use sqlite to save some data.
I have some code examples to use "sqlite.JDBC" working properly with "jython" through the following commands:
- export CLASSPATH=/tmp/sqlite-jdbc-3.7.2.jar:$CLASSPATH
- jython example.py
I have a problem when I try to use this examples like Burp Suite extensions, because of the extension is crashing with the following error message: "java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: org.sqlite.JDBC"
The error occurs when jython is parsing the following line: Class.forName("org.sqlite.JDBC").newInstance()
I have executed Burp Suite on the following ways:
- java -XX:MaxPermSize=1G -classpath ".:sqlite-jdbc-3.7.2.jar" -jar burpsuite.jar
- export CLASSPATH=/tmp/sqlite-jdbc-3.7.2.jar:$CLASSPATH ; java -XX:MaxPermSize=1G -jar burpsuite.jar
But it have never found the class. I dont know what I am doing wrong.
Extensions run within Burp in a sandboxed classloader that is independent from Burp’s classloader and those used by other extensions. This is done to prevent naming collisions and other problems that might lead to extensions impacting each other in unexpected ways.
There is an option at Extender / Options / Python environment where you can specify a folder for loading modules that your extension needs. This might enable you to access your external JAR file.