当试图在Burp中导入插件时,出现ClassNotFoundException异常。

问题描述 投票:0回答:1

我从昨天开始就面临这个问题,Burp在尝试导入插件的.jar文件时开始显示下面的错误,但Netbeans在编译时没有问题。我通过pom.xml文件中的Maven依赖关系导入了Selenium,每次我将插件加载到Burp中时,我都会运行Clean and build选项以避免任何问题。

但是,我运行的代码是这样的。

void runBrowserAutomatization(File fileDriver, String seleniumTrack, boolean isHeadless) {

        WebDriver driver;

        if (gui.usedBrowser().toLowerCase().contains("chrome")) {
            ChromeOptions options = new ChromeOptions();
            Proxy proxy = new Proxy();
            proxy.setHttpProxy("localhost:8080");
            proxy.setSslProxy("localhost:8080");

            options.setCapability(CapabilityType.PROXY, proxy);
            options.setHeadless(isHeadless);
            System.setProperty("webdriver.chrome.driver", fileDriver.getPath());

            driver = new ChromeDriver(options);

        } else if (gui.usedBrowser().toLowerCase().contains("firefox")) {
            FirefoxOptions options = new FirefoxOptions();
            Proxy proxy = new Proxy();
            proxy.setHttpProxy("localhost:8080");
            proxy.setSslProxy("localhost:8080");

            options.setCapability(CapabilityType.PROXY, proxy);
            options.setHeadless(isHeadless);
            System.setProperty("webdriver.gecko.driver", fileDriver.getPath());

            driver = new FirefoxDriver(options);
        } else {
            printMsg("No browser selected...");
            return;
        }

       /// other stuff here

        driver.close();

    }

显示的错误如下

java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:436)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:416)
    at burp.ehm.a(Unknown Source)
    at burp.ehm.<init>(Unknown Source)
    at burp.b6.a(Unknown Source)
    at burp.c3u.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:830)

尴尬的是,如果我给两个实现的 司机 对象,Burp在导入它时没有显示任何错误。似乎它在实现WebDriver对象时有问题,但在声明它时没有问题,这对于ClassNotFoundException来说是非常奇怪的。另一个工具,它的代码与这些组件有相同的结构,但如果它被加载并运行正常,就没有错误。

java classnotfoundexception burp
1个回答
0
投票

将这个插件添加到pom.xml文件中,为我解决了这个错误,它在构建项目时将Maven的依赖关系包含在jar中。

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.3</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>

最新版本的插件可以在这里找到。https:/maven.apache.orgpluginsmaven-shadode-pluginusage.html。

© www.soinside.com 2019 - 2024. All rights reserved.