csrf
·
⚙️ BE
Cross-Site Request Forgery (CSRF)는 웹 애플리케이션의 보안 취약점 중 하나로, 사용자가 자신의 의지와 무관하게 다른 사이트에서 생성된 요청을 보내는 현상을 말합니다. 이 공격은 사용자가 이미 인증된 웹사이트에 대해 악의적인 작업을 수행하도록 만듭니다. CSRF의 작동 원리: 사용자 인증: 사용자는 어떤 웹사이트(예: 은행 사이트)에 로그인하고, 브라우저는 이 사이트로부터 인증 쿠키를 받습니다. 악의적인 사이트 방문: 사용자가 공격자가 제어하는 다른 웹사이트(피싱 사이트 등)를 방문합니다. 이 사이트에는 인증된 웹사이트에 대한 악의적인 요청(예: 송금 요청)을 생성하는 코드가 숨겨져 있습니다. 자동 요청 전송: 사용자의 브라우저는 피싱 사이트에서 생성된 요청을 자동으로 실행합니다..
XSS ( Cross-site scripting ) ( 1 )
·
⚙️ BE
XSS의 이해, 방어에 관해 고민해본 글 입니다. 대부분 사이트에서 작동하지 않겠지만, 학습 목적으로 작성한 글이기에 악용시 책임은 코드를 사용한 공격자에게 있습니다. 브라우저는 script 태그를 만나면 자동으로 이를 실행 합니다. 예를들어 특정 게시글에 스크립트가 쓰여있다고 가정 해보겠습니다. 그럼 브라우저는 해당 태그를 읽고 알림창을 띄웁니다. 그럼 태그 전체를 문자열로 처리하면 되지 않느냐? 할 수 있는데 "" 이런 방식을 생각 했다면 이는 화면에 "" 를 표시하고 스크립트를 실행하는 것으로 해석됩니다. 자바스크립트 파일에서 변수에 문자열 할당하듯 처리한다고 되는 것이 아니기에, 어떤 형태로든 완성된 태그가 중간에 있으면 브라우저는 해당 태그를 해석 합니다. 이러한 특성을 악용한 공격이 XSS 입..
JWT 관리와 탈취대응 시나리오 ( 2 )
·
⚙️ BE
토큰기반의 인증 전략에 대해 고민해본 글 입니다. 이전 글에서 RTR이 토큰 탈취 대응 방안으로 어느정도 효과가 있는지 알아보았습니다. 여러가지 문제가 있었지만 간략 하게 정리하면 아래와 같습니다. RTR은 일부 케이스에선 효과가 있지만 그리 효과적이지는 못한 것 같다. XSS 공격에는 여전히 취약하다. 대부분 방어가 되어있긴 하지만 일부 취약한 부분도 있다. 어느정도 양보하면 세션과 다를게 없어진다. 그리하여 새로운 전략에 대해 이야기 해보려 합니다. Http Only 리프레시 토큰을 쿠키에 담아 보내는 방식 입니다. http only 속성을 부여하여 자바스크립트로 접근할 수 없도록 설정하는 방식입니다. 우선 자바스크립트로 접근 할 수 없기 때문에 여기서 대부분의 보안 취약점은 해결이 된 모습입니다. ..