All

    웹 취약점 분석 및 조치 (매개변수 조작 취약점)

    진행한 업무 중 웹 취약점으로 평가되어 조치를 진행한 업무에 대해 간단히 기록하고자 합니다. 취약점 조치 방법 취약점 조치는 위험 수용, 위험 예외, 위험 조치 세 가지로 분리할 수 있고, 각각의 의미는 다음과 같습니다. 위험 수용 : 문제를 해결하지 않고 수용한다. 위험 예외 : 문제가 아닌 것으로 판단하고 예외 처리한다. 위험 조치 : 문제를 해결해서 취약점을 제거한다. 취약점으로 평가된 문제점은 XSS, 부적절한 오류 처리(톰캣 버전 노출), 매개변수 조작 문제 등이 있었습니다. 이를 조치하느냐 수용하느냐는 여러 상황(context) 아래에 판단을 할 수 있는데, 각 문제에 대한 risk값을 매기는 척도가 있습니다. 본인은 이 중 매개변수 조작 문제만 위험 조치로 판단하고 해결하는 것을 진행하였습니..

    백엔드 개발자로 입사하다. (2022.08)

    백엔드 개발자로 입사하다. (2022.08)

    취직까지.. 2022년 2월 졸업을 하고 개인적인 사정으로 인해 4월부터 취업 준비를 시작했고 약 3개월 정도 빡세게 한 것 같다. 취준을 하면서 알게된 것은 나를 어필하는 능력이 부족하다는 것이다. 그래서 자소서 작성이나 포트폴리오를 만드는데에 노력이나 시간을 많이 쓴 것 같다. 사실 자소서에 어떤 내용을 쓸지, 어떤 걸 내 강점으로 내세우면 좋을지, 지원을 많이 해보면서 감이 생길 수 있을텐데 지원하는 데에 너무 많은 고민을 했다. 취준 관련 글들을 찾아 보면 일단 지원을 해라. 내가 들어가고 싶은 회사를 우선순위 매겨서 리스트화하고 내림차순으로 지원하면서 감을 잡으라. 등등의 조언들이 많고 나도 그래야겠다🔥 생각 했는데 실제론 그러지 못했다.💦 입사한 지 한달하고 1주일이 지난 시점인데, 취업하기 ..

    Spring Framework와 Spring Boot

    이번 포스팅에서는 Spring Framework와 Spring Boot 에 대해 알아보겠습니다.💡 Spring Framework가 뭐야?Spring Framework는 자바 애플리케이션 개발을 위한 오픈소스로 공개된 애플리케이션 프레임워크입니다.Spring 이 등장함으로 인해 개발자들이 기술을 사용하기 위해 불가피하게 작성해야했던 복잡한 코드들을 걷어내주었고, 이로 인해 코드의 복잡성을 낮춰주었다고 합니다. 더보기Framework ?프레임워크란, 어떠한 목적을 쉽게 달성할 수 있도록 해당 목적과 관련된 코드의 뼈대를 미리 만들어둔 것을 의미한다.애플리케이션 프레임워크는 애플리케이션을 개발하는데에 있어 필요한 모든 업무 분야 및 기술과 관련된 코드들의 뼈대를 제공합니다. Spring Framework의 ..

    @Component에 대해 (@Bean)

    @Component에 대해 (@Bean)

    Spring 으로 개발을 할 때 @Bean과 @Component의 차이를 명확하게 알고 사용한 게 아니었다는 걸 알고정리를 하고자 오랜만에 글을 작성합니다.먼저 @Bean과 @Component의 차이를 다루고,@Component에 대한 Spring 공식문서를 읽으며 정리하고 마무리하겠습니다.두 애노테이션 모두 Spring Context에 해당 객체를 빈(Bean)으로 등록하기 위해 사용한다는 점은 공통점입니다.차이점은 1. 용도와 2. 제한이 있습니다.1. 용도개발자가 통제하지 못하는 외부 라이브러리를 가지고 와서 빈으로 등록하려고 할 때, @Bean을 사용할 수 있습니다.반면, 개발자가 직접 구현한 클래스를 빈으로 등록하려 할 때, @Component를 사용할 수 있습니다.결국,둘다 스프링의 의존성 주..

    @RequestBody 붙였어??

    @RequestBody 붙였어??

    준비 해당 포스팅의 제목이 이렇게 붙여진 이유는... 내가 그런 실수를 저질렀기 때문이다. ㅠㅠ 그래서 나의 바보짓을 공개적인 곳에 올리면서 제대로 기억할 겸 포스팅한다. @RequestBody 애노테이션은 한마디로 HttpRequestBody를 Java객체로 매핑해주는 애노테이션이다. 덕분에 API 요청으로 전송받은 JSON 데이터를 (우리가 따로 조작하지 않고도) 객체로 변환해서 받을 수 있게 된다. '@RequestBody'가 뭐지? 애노테이션 이름이 말해주는 그대로, 요청(Request)의 Body를 연결해주는 역할을 한다. 웹 요청의 body에는 json 형태로 데이터가 전달되는데, 컨트롤러 메서드의 매개변수 앞에 애노테이션 @RequestBody를 붙이면 해당 객체가 웹 요청의 body와 매핑..

    [MySQL, 윈도우] root 계정 비밀번호 재설정

    [MySQL, 윈도우] root 계정 비밀번호 재설정

    이번 포스팅에서는 윈도우에서 MySQL의 비밀번호 재설정하는 방법을 알아보겠습니다. 전체적인 순서는 아래와 같습니다. 1. MySQL 서비스 중지 2. 인증없이 접속할 수 있도록 재시작 (-skip-grant-tables 모드) 3. root 계정 접속 및 비밀 번호를 null로 설정 4. root로 비번 없이 접속 후 비밀번호 변경 (기존 모드 종료) 5. MySQL 서비스 시작 1. MySQL 서비스 중지 관리자 권한으로 명령 프롬프트(cmd)에 접속해야합니다. 아래 명령으로 작동 중인 서비스를 중지합니다. net stop MySQL80 2. 인증없이 접속할 수 있도록 재시작 (-skip-grant-tables 모드) 본인 PC에서 Data 경로를 확인해야합니다. 필자는 C:\\ProgramData\..