문제

예방해야 해요 세션 고정, JBoss에서 실행되는 Java 웹 애플리케이션의 특정 유형의 세션 하이재킹입니다.그러나 표준 관용어는 다음과 같습니다. JBoss에서는 작동하지 않습니다.이 문제를 해결할 수 있습니까?

도움이 되었습니까?

해결책

이 결함 (설립하다 여기) 해결 방법을 제시합니다.JBoss에서 실행되는 Tomcat 인스턴스는 기본값인 "false"가 아닌 emptySessionPath="true"로 구성됩니다.이는 다음에서 수정될 수 있습니다. .../deploy/jboss-web.deployer/server.xml;HTTP 및 AJP 커넥터 모두에 이 옵션이 있습니다.

기능 자체는 컨텍스트 경로를 제거하는 데 사용됩니다(예:"푸" 안에 http://example.com/foo)이 JSESSIONID 쿠키에 포함되지 않도록 합니다.false로 설정하면 일부 포털 프레임워크를 사용하여 구축된 항목을 포함하는 애플리케이션 간 인증에 의존하는 애플리케이션이 중단됩니다.그러나 문제의 애플리케이션에 부정적인 영향을 미치지는 않았습니다.

다른 팁

이 문제와 그것이 발생하는 특정 사례는 JBoss뿐만 아니라 Tomcat에서도 문제가 됩니다.Tomcat은 emptySessionPath="true" 효과를 공유합니다(실제로 JBoss는 Tomcat에서 이를 상속받습니다).

이는 세션 고정 공격을 방지하려고 할 때 Tomcat 및 JBoss의 버그처럼 보이지만 서블릿 사양(최소 버전 2.3)에서는 실제로 특정 논리에 따라 JSESSIONID를 정의하거나 재정의할 것을 요구하지 않습니다.아마도 이것은 이후 버전에서 정리되었을 것입니다.

한 가지 해결 방법은 세션에 클라이언트 주소를 저장하는 것입니다.응답 래퍼는 세션에 설정된 클라이언트 주소가 세션에 액세스하는 주소와 동일한지 확인해야 합니다.

포럼 중 하나에서 아래 코드 설정 스 니펫을 알게되었습니다.그리고 아래 줄을 추가했습니다.하지만 응용 프로그램에 로그인한 후와 전에 세션 ID를 인쇄하면 동일합니다.세션 고정을 어떻게 테스트합니까?

  1. D:\jboss-5.1.0.GA\bin un.cof 파일을 열고 아래 줄을 추가합니다."JAVA_OPTS=%JAVA_OPTS% -Dorg.apache.catalina.connector.Request.SESSION_ID_CHECK=false"를 설정합니다.

  2. jboss 애플리케이션의 각 context.xml에 있습니다.D:\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\context.xml

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top