Support Center

Burp Community

See what our users are saying about Burp Suite:

How do I?

New Post View All

Feature Requests

New Post View All

Burp Extensions

New Post View All

Bug Reports

New Post View All
Documentation

Burp Suite Documentation

Take a look at our Documentation section for full details about every Burp Suite tool, function and configuration option.

Full Documentation Contents Burp Projects
Suite Functions Burp Tools
Options Using Burp Suite
Extensibility

Burp Extender

Burp Extender lets you extend the functionality of Burp Suite in numerous ways.

Extensions can be written in Java, Python or Ruby.

API documentation Writing your first Burp Suite extension
Sample extensions View community discussions about Extensibility
Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

SAX2 driver class org.apache.xercer.parses.SAXParser not found

Lievi Apr 11, 2017 07:56PM UTC

Hello friends

I'm trying to parse XML from requests in my plugin but every time this error occours:

java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser

at org.xml.sax.helpers.XMLReaderFactory.loadClass(XMLReaderFactory.java:230)

at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:221)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)


org.xml.sax.SAXException: org.xml.sax.SAXException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser

I'm using the ElementTree to do this parse (import xml.etree.ElementTree as ET).

Someone knows how i can solve this problem? Thanks


Dafydd Stuttard Apr 13, 2017 03:11PM UTC Support Center agent

Did you include the relevant libraries within your compiled JAR file, or put them into the library folder configured in Extender options?


Lievi Apr 13, 2017 05:53PM UTC
Hello Dafydd, i'm putting into the library folder


Dafydd Stuttard Apr 18, 2017 03:10PM UTC Support Center agent

It’s hard to know what might be going wrong. Burp creates a class loader for each extension, configured to use the extension’s JAR file and any JAR files in the configured library folder. So if your library dependencies are in a correctly structured JAR file in the right location, they should be accessible to the class loader.

Please can you verify the library JAR contents, and if that doesn’t account for the problem, then try copying the .class files from the library JAR into your extension JAR, in the correct folder structure for each package. Normally, this just involves unzipping your JAR and the library JAR, merging the contents, and re-zipping.


Lievi May 01, 2017 04:10PM UTC
Hello Dafydd, Thank you for the answser, but i think i was not clear in my question.

I'm programming my extension in Python and this error occur with every module that parse XML (xmltodoct and ElementTree).

I'm tried to import the folder where the jar file of the xerces are in, but it's not worked.

I found a extension that use the same module, and to resolve that problem, they start the jar of the burp with the classpath, and worked to me:

java -classpath burpsuite_pro_v1.7.22.jar;xercesImpl.jar; "C:\Users\Admin\Documents\Burp"/* burp.StartBurp

There is a way to configure the classpath on the burp configurations, so i can open the exe file?

*Link of the extension (https://github.com/luh2/PDFMetadata)


Adam Piper May 04, 2017 01:12PM UTC Support Center agent

Hi Lievi,

Unzipping the jar your extension depends on into the same directory as the entrypoint script (PdfMetadata.py) seems to allow Jython to reference the class files from Python. You’ll need to keep the structure of the jar file but can delete the META-INF directory. It’s not a perfect solution but it does work.

Let me know if this solves your problem.


Post Your public answer

Your name
Your email address
Answer