phefley / burp-javascript-security-extension

A Burp Suite extension which performs checks for cross-domain scripting against the DOM, subresource integrity checks, and evaluates JavaScript resources against threat intelligence data.
GNU General Public License v3.0
22 stars 17 forks source link

Chromedriver location #5

Closed noraj closed 2 years ago

noraj commented 5 years ago

Ensure that Chrome/Chromium is installed in a standard location.

java.lang.IllegalStateException: The driver executable does not exist: /usr/lib/chromium-browser/chromedriver
    at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
    at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:137)
    at org.openqa.selenium.remote.service.DriverService$Builder.usingDriverExecutable(DriverService.java:272)
    at org.focalpoint.isns.burp.srichecks.DriverServiceManager.startDriverService(DriverServiceManager.java:54)
    at org.focalpoint.isns.burp.srichecks.DriverServiceManager.<init>(DriverServiceManager.java:45)
    at burp.BurpExtender.<init>(BurpExtender.java:58)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
    at burp.ete.a(Unknown Source)
    at burp.ete.<init>(Unknown Source)
    at burp.dgg.a(Unknown Source)
    at burp.ld.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:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:835)

The login looks for chromedriver in /usr/lib/chromium-browser/chromedriver as if it was the standard way. On ArchLinux and others distro it is located at /usr/lib/chromium.

Maybe you should look for several standard path before raising an error.

noraj commented 5 years ago

Workaround:

  1. sudo mkdir /usr/lib/chromium-browser
  2. sudo ln -s /usr/lib/chromium/chromedriver /usr/lib/chromium-browser/chromedriver
noraj commented 5 years ago

There is an option to configure the location in the UI, but the UI won't load on the first place if the driver loading fails...

image

jakub-botwicz commented 3 years ago

The same problem affects Burp on Windows where creating /usr/lib/chromium-browser directory is not possible. Please change it so there will be no loading of chromedriver on start, but after selecting the driver.

pbielicki commented 3 years ago

I have the same problem on MasOS Monterey (12.x) - I can't write to /usr/lib because of the System Integrity Protection

So, basically this plugin is unusable on MacOS

noraj commented 3 years ago

I opened this issue the 7 Nov 2019 but the project has not been updated since 30 Oct 2019 so I guess it is abandoned.