많은 REST 인터페이스를 제공하는 스프링 부트 애플리케이션이 있습니다. 회사 웹 개발 보안 표준은 응용 프로그램에서 ESAPI SecurityWrapper 필터의 사용을 요구합니다.ESAPI SecurityWrapper 및 REST 인터페이스
ESAPI SecurityWrapper는 Http 상태 코드를 강제로 200으로 덮어 써서 confound attackers using automated scanners.
으로 만듭니다. 이는 내 REST 인터페이스에 명백한 영향을 미칩니다.
Http 상태 코드가 영향을받지 않도록하기 위해 SecurityWrapper에 대한 해결 된 해결 방법이 있습니까? 내 모든 시도는 지금까지 극단적 인 해키 였고 여기 보안 요원의 승인을 받기가 쉽지 않습니다.
SecurityWrapperFilter를 위임하는 것은 실제로 이런 끔찍한 정책입니다. 보안 구현은 예상되는 정상적인 사용에 방해가됩니다. – avgvstvs
그래서 ESAPI 소스 코드를 검색 할 때'SecurityWrapperResponse.sendError (int)'가 어디에서 호출되는지 알 수 없습니다. 응답을 덮어 쓰는 것이 확실합니까? – avgvstvs
@avgvstvs : 저는 디버거를 통해 그것을 실행했습니다. 그리고 확실히 호출됩니다. 필터는 요청 및 응답 객체를 래핑 된 동등한 것으로 대체하므로 코드가 만드는 요청 및 응답 객체에 대한 호출은 실제로 래핑 객체의 구현을 호출합니다. 따라서 치명적인 오류가 발생하면 코드에서 응답 코드를 500으로 설정하지만 실제로 호출하는 메서드는 전달한 값을 무시하고 HttpStatus.OK로 바꿉니다. – DaveH