시행착오 3

[tomcat] PUT, DELETE 파싱 오류

1. 문제 상황 나의 로컬 서버 HTTPS 메소드 UPDATE로 request body를 이용하여 spring 컨트롤러에 요청을 보냈다. parameterMapping값과, propertykey들이 전부 "null"로 넘어갔다. 2. 문제점 나는 로컬 서버 HTTP에 tomcat 설정을 해놓았는데 HTTPS로 계속 테스트했던 게 문제였다. + 추가로 POST 일때만 파싱하는 경우도 있어서 다른 메서드일 때 작동을 안한다면 아래와 같이 코드를 수정하자 3. 코드 확인 (TOMCAT) PORT설정부분 4. 해결 톰캣 서버 server.xml에 해당 소스 추가 (위 소스도 o) 4-1. 해결 분석 Connector.java 아래 그림을 보면 parseBodyMethods의 디폴트 값이 POST이라서, HTTP..

[Issue] log4j 취약점

1. 문제원인 - 제품의 취약점이 발견된 버전은 Log4j 2.0-beta9 ~ 2.16.0 버전이다. 취약점 공격은 Log4j를 사용하는 응용 프로그램에서 layout patter과 쓰레드 컨텍스트 기능이 사용되는 경우 발생할 수 있다. 취약한 환경과 이 환경을 공격하는 기법을 알아보자. 2. 취약한 환경 - 응용프로그램이 layout pattern에서 쓰레드 컨텍스트를 조회하는 기능을 사용하도록 설정된다. 여기서, 이 layout pattern에서 참조하는 값을 외부 값으로 저장한다. 3. 취약점 공격 - 공격자가 특정 문자열을 포함한 요청을 서버에 전송하는 경우, log4j에서는 로그를 저장하는 과정에 stack overflow 오류가 발생하여 프로세스가 종료될 수 있다. 4. 취약점 해결 - Lo..

[HTTP] 상태 코드 정리

* 상태코드 (status code) 란? 서버가 클라이언트 요청을 처리하고 난 후 상태에 따라 반환하는 코드입니다. ++ 개발자 도구에서 network 탭을 열면 status code를 볼 수 있기도 하다. * 코드의 종류 1XX : 조건부 응답 2XX : 성공 3XX : 완전한 처리를 위해 추가적 동작이 필요 4XX : 클라이언트 에러 (대부분 클라이언트 혹은 프론트엔드에서 요청이 잘못된 경우) 5XX : 서버에러 (대부분 백엔드, 서버 부하, DB처리, 서버 예외처리 발생하는 경우) * 1XX : 조건부 응답 클라이언트가 데이터를 일부만 포함해 보내어 서버가 데이터를 더 보내라고 하는 응답 코드입니다. • 100 : 클라이언트가 계속해서 요청하거나 요청을 완료한 경우 무시해도 되는 것을 알려 줍니다..