2016-04-08 13 views
-4

LinuxディストリビューションのKali(apt-get経由)にtomcat7をインストールし、最新のwebgoatリリースをhttps://github.com/WebGoat/WebGoat/releases/download/7.0.1/webgoat-container-7.0.1.war からwebappディレクトリにダウンロードしました。 https://deepakdevanand.wordpress.com/2015/05/25/installing-webgoat-on-kali-linux/Kaliのwebgoatでログインするときにエラーが発生しました

URLのlocalhostを以下に示します:ここで説明したように、私はwebgoatためのTomcatのユーザーを追加したほか

8080/webgoat-コンテナ-7.0.1 /攻撃は、私が使ってログインすることができますスタートページにつながりますユーザーwebgoat。 Btw。このチュートリアルでは、ユーザー名「webgoat」とパスワード「Sec3rt」を使用して独自の設定されたTomcatユーザーを使用する必要があると述べていますが、Webページにはデフォルトの管理ユーザー名が「webgoat」で、パスワードは「webgoat」です。

そこにログインし、エラーメッセージが表示されます。

Error Message: Could not initialize class org.owasp.webgoat.session.UserTracker 
java.lang.NoClassDefFoundError: Could not initialize class org.owasp.webgoat.session.UserTracker 
at org.owasp.webgoat.session.Screen.getLessonTracker(Screen.java:117) 
at org.owasp.webgoat.lessons.LessonAdapter.makeSuccess(LessonAdapter.java:251) 
at org.owasp.webgoat.plugin.HowToWork.createContent(HowToWork.java:53) 
at org.owasp.webgoat.lessons.AbstractLesson.handleRequest(AbstractLesson.java:868) 
at org.owasp.webgoat.HammerHead.makeScreen(HammerHead.java:332) 
at org.owasp.webgoat.HammerHead.doPost(HammerHead.java:148) 
at org.owasp.webgoat.HammerHead.doGet(HammerHead.java:104) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) 
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) 
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) 
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) 
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) 
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:745) 

Tomcatのログファイルは、同じエラーを示しています。

INFO: No Spring WebApplicationInitializer types detected on classpath 
Apr 08, 2016 8:27:44 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
Apr 08, 2016 8:27:47 AM org.apache.catalina.core.ApplicationContext log 
INFO: WebGoat is starting 
Apr 08, 2016 8:27:47 AM org.apache.catalina.core.ApplicationContext log 
INFO: Adding extra mappings for lessions 
Apr 08, 2016 8:27:49 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring FrameworkServlet 'mvc-dispatcher' 
Apr 08, 2016 8:43:43 AM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [mvc-dispatcher] in context with path [/webgoat-container-7.0.1] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.owasp.webgoat.session.UserTracker] with root cause 
java.lang.NoClassDefFoundError: Could not initialize class org.owasp.webgoat.session.UserTracker 
+0

NoClassDefFoundErrorメッセージが「クラスXYZを初期化できませんでした。」は、通常、JVMがすでにクラス「XYZ」をロードしようとしていることを示しています。上記のログの前にログに他の例外、特に 'ExceptionInInitializerError'がありますか? –

+0

確認できるwebgoatログファイルはありますか?私はユーザーwebgoatとしてログインしています。 java情報: javaバージョン "1.7.0_91" OpenJDKランタイム環境(IcedTea 2.6.3)(7u91-2.6.3-1) OpenJDK 64ビットサーバーVM(ビルド24.91-b01、混合モード) –

+0

このチュートリアルは次のとおりです。 WebGoatはバージョン5.4と7.0.1の間で大きなアーキテクチャ上の変更を受けています。私はチュートリアルで推奨されているようにtomcat-users.xmlを編集する必要はないと言います。第2に、Tomcat logsフォルダの下に他のログファイルがあるはずです。特に 'webgoat_main.log'ファイルを調べてみてください。 –

答えて

0

私は自分自身しばらくの間、これと格闘しました。ユーザーデータベースファイルを書き込む権限がない可能性があります。ログエントリに次のような内容が表示された場合:

Caused by: java.io.FileNotFoundException: /var/lib/tomcat7/UserDatabase.mv.db (Permission denied) 

次に、表示されているフォルダへのTomcatユーザーのアクセス許可を与えることになります。

関連する問題