doyensec / inql

InQL is a robust, open-source Burp Suite extension for advanced GraphQL testing, offering intuitive vulnerability detection, customizable scans, and seamless Burp integration.
https://doyensec.com/
Apache License 2.0
1.52k stars 156 forks source link

OSError: unlink(): an unknown error occurred #50

Closed ionimit closed 1 year ago

ionimit commented 2 years ago

Describe the bug Extension is not working at all

To Reproduce Steps to reproduce the behavior:

  1. Go to Burp extender tab
  2. Click on BApp Store
  3. Click on InQL - Introspection GraphQL Scanner
  4. Click on Install
  5. See error in burp extensions' errors log

Expected behavior Extension to be loaded and running

Screenshots image

Desktop (please complete the following information):

Additional context

Traceback (most recent call last):
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Roaming\BurpSuite\bapps\296e9a0730384be4b2fffef7b4e19b1f\ext\inql_burp.py", line 78, in <module>
    from burp_ext.extender import BurpExtender
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Local\BurpSuitePro\jython-standalone-2.7.2.jar\Lib\contextlib$py.class", line 24, in __exit__
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Local\BurpSuitePro\jython-standalone-2.7.2.jar\Lib\contextlib$py.class", line 24, in __exit__
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Roaming\BurpSuite\bapps\296e9a0730384be4b2fffef7b4e19b1f\ext\inql_burp.py", line 14, in __stickytape_temporary_dir
    shutil.rmtree(dir_path)
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Local\BurpSuitePro\jython-standalone-2.7.2.jar\Lib\shutil$py.class", line 247, in rmtree
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Local\BurpSuitePro\jython-standalone-2.7.2.jar\Lib\shutil$py.class", line 252, in rmtree
  File "C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Local\BurpSuitePro\jython-standalone-2.7.2.jar\Lib\shutil$py.class", line 250, in rmtree
OSError: unlink(): an unknown error occurred: C:\*\*\*\*\*\*\*\*\*\*\*\*\AppData\Local\Temp\tmpvgrau_\burp_ext\__init__.py

    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 shutil$py.onerror$16(shutil.py:226)
    at shutil$py.call_function(shutil.py)
    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:158)
    at org.python.core.PyFunction.__call__(PyFunction.java:437)
    at shutil$py.rmtree$14(shutil.py:256)
    at shutil$py.call_function(shutil.py)
    at org.python.core.PyTableCode.call(PyTableCode.java:173)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:168)
    at org.python.core.PyFunction.__call__(PyFunction.java:437)
    at shutil$py.rmtree$14(shutil.py:256)
    at shutil$py.call_function(shutil.py)
    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:126)
    at org.python.core.PyFunction.__call__(PyFunction.java:416)
    at org.python.pycode._pyx5.__stickytape_temporary_dir$1(C:/*\*\*\*\*\*\*\*\*\*\*\*/AppData/Roaming/BurpSuite/bapps/296e9a0730384be4b2fffef7b4e19b1f/ext/inql_burp.py:14)
    at org.python.pycode._pyx5.call_function(C:/*\*\*\*\*\*\*\*\*\*\*\*/AppData/Roaming/BurpSuite/bapps/296e9a0730384be4b2fffef7b4e19b1f/ext/inql_burp.py)
    at org.python.core.PyTableCode.call(PyTableCode.java:173)
    at org.python.core.PyGenerator.__iternext__(PyGenerator.java:161)
    at org.python.core.PyGenerator.__iternext__(PyGenerator.java:143)
    at org.python.core.PyIterator.next(PyIterator.java:45)
    at org.python.core.PyGenerator.generator_next(PyGenerator.java:95)
    at org.python.core.PyGenerator$generator_next_exposer.__call__(Unknown Source)
    at org.python.core.PyObject.__call__(PyObject.java:450)
    at contextlib$py.__exit__$4(contextlib.py:51)
    at contextlib$py.call_function(contextlib.py)
    at org.python.core.PyTableCode.call(PyTableCode.java:173)
    at org.python.core.PyBaseCode.call(PyBaseCode.java:187)
    at org.python.core.PyFunction.__call__(PyFunction.java:449)
    at org.python.core.PyMethod.__call__(PyMethod.java:171)
    at org.python.core.ContextGuard.__exit__(ContextGuard.java:29)
    at org.python.pycode._pyx5.f$0(C:/*\*\*\*\*\*\*\*\*\*\*\*/AppData/Roaming/BurpSuite/bapps/296e9a0730384be4b2fffef7b4e19b1f/ext/inql_burp.py:78)
    at org.python.pycode._pyx5.call_function(C:/*\*\*\*\*\*\*\*\*\*\*\*/AppData/Roaming/BurpSuite/bapps/296e9a0730384be4b2fffef7b4e19b1f/ext/inql_burp.py)
    at org.python.core.PyTableCode.call(PyTableCode.java:173)
    at org.python.core.PyCode.call(PyCode.java:18)
    at org.python.core.Py.runCode(Py.java:1687)
    at org.python.core.__builtin__.execfile_flags(__builtin__.java:535)
    at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:287)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at burp.c8o.<init>(Unknown Source)
    at burp.ba0.a(Unknown Source)
    at burp.ctj.lambda$panelLoaded$0(Unknown Source)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:831)
thypon commented 2 years ago

Is the username containing any special character in the name? stickytape, the python packer we are employing at the moment, has some problem with special characters/UTF-8 on Windows, at the moment.

ionimit commented 2 years ago

Is the username containing any special character in the name? stickytape, the python packer we are employing at the moment, has some problem with special characters/UTF-8 on Windows, at the moment.

No, It does not contain any special characters, just regular English characters without spaces.

execveat commented 1 year ago

I couldn't reproduce this issue, but stickytape had a matching bug which prevented it from deleting a temporary directory. I think this might be resolved by just updating stickytape. The change is in the master branch now, you can try it out or wait for the next release!