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

Unknown object 'burp.tn5' causing AttributeError in consolidateDuplicateIssues method

Superman | Last updated: Jan 09, 2023 11:46AM UTC

An unknown object 'burp.tn5' is being passed into consolidateDuplicateIssues method which is causing the following exception to occur. I am unable to figure out the reasoning. I have provided snippets of code to assist debugging. Tested using BurpSuite Pro v2022.9.6 with Jython v2.7.2 Traceback (most recent call last): File "C:\Users\****\Desktop\cc_checker.py", line 225, in consolidateDuplicateIssues existing_matches = existingIssue.getMatchList() AttributeError: 'burp.tn5' object has no attribute 'getMatchList' at org.python.core.PyException.doRaise(PyException.java:211) at org.python.core.Py.makeException(Py.java:1638) at org.python.core.Py.makeException(Py.java:1642) at org.python.core.Py.makeException(Py.java:1646) at org.python.core.Py.makeException(Py.java:1650) at org.python.core.PyTableCode.call(PyTableCode.java:173) at org.python.core.PyBaseCode.call(PyBaseCode.java:306) at org.python.core.PyBaseCode.call(PyBaseCode.java:197) at org.python.core.PyFunction.__call__(PyFunction.java:485) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:218) at org.python.core.PyMethod.__call__(PyMethod.java:213) at org.python.core.PyObject._jcallexc(PyObject.java:3565) at org.python.core.PyObject._jcall(PyObject.java:3598) at org.python.proxies.__main__$BurpExtender$0.consolidateDuplicateIssues(Unknown Source) at burp.xak.consolidateIssues(Unknown Source) at burp.ah.run(Unknown Source) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833 Code for consolidateDuplicateIssues def consolidateDuplicateIssues(self, existingIssue, newIssue): # Get the path of each issue existing_path = existingIssue.getHttpMessages()[0].getUrl().getPath() new_path = newIssue.getHttpMessages()[0].getUrl().getPath() existing_issue_severity = existingIssue.getSeverity() newIssue_severity = newIssue.getSeverity() # Compare the paths and severity of the issues if existing_path == new_path and existing_issue_severity == newIssue_severity: # Check if the new issue contains any previously reported numbers existing_matches = existingIssue.getMatchList() new_matches = newIssue.getMatchList() if existing_matches == new_matches: return -1 else: return 0 else: return 0 I have getMatchList defined in CustomIssue class that returns list of matches reported in each finding. Each finding instance is created as such issue = CustomIssue(baseRequestResponse.getHttpService(), self.helpers.analyzeRequest(baseRequestResponse).getUrl(), baseRequestResponse, "Issue Title", "Issue Description", "Information", "Tentative", valid_matches)

Superman | Last updated: Jan 09, 2023 11:48AM UTC

Note: This traceback error only gets triggered when the same page with same data triggers the finding (duplicate instance).

Hannah, PortSwigger Agent | Last updated: Jan 09, 2023 01:24PM UTC

Hi

The consolidateDuplicateIssues() function is provided with two IScanIssue objects, not your CustomIssue objects. This means that there is no getMatchList() function available to call.

Superman | Last updated: Jan 09, 2023 04:36PM UTC