School/Security

    [ Web Hacking ] - XSS Bypass

    1. 세미콜론(;)이 필터링될 때 2. document.cookie에서 .가 필터링될떄 3. location.href로 이동되는 값을 임의로 변조할 때 또한 -를 이용해 alert함수 실행 후 ^1&&을 통해 리다이렉트 가능 4. ()괄호를 필터링할 경우 (백틱)사용

    [ Web Hacking ] - XSS

    [ Web Hacking ] - XSS

    XSS XSS는 클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있습니다. 공격자는 해당 취약점을 통해 특정 계정의 세션 정보를 탈취하고 해당 걔정으로 임의의 기능을 수행할 수 있습니다. 예를 들어, 드림핵 웹 페이지에서 XSS취약점이 존재하면 https://dreamhack.io내에서 오리진 권한으로 악성 스크립트를 삽입합니다. 이후에 이용자가 악성 스크립트에 포함된 페이지를 방문하면 공격자가 임의로 삽입한 스크립트가 실행되어 쿠키 및 세션이 탈취될 수 있습니다. 해당 취약점은 SOP보안 정책이 등장하면서 서로 다른 오리진에서는 정보를 읽는 행위가 이전에 비해 힘들어 졌습니다. 그러나 이를 우회하는 다양한 기술이 소개..

    [ Web Hacking ] - Mitigation: Same Origin Policy

    [ Web Hacking ] - Mitigation: Same Origin Policy

    Same Origin Policy (SOP) Cookie & Session 에서 쿠키에는 인증 상태를 나타내는 민감한 정보가 보관되며, 브라우저 내부에 저장된다고 했습니다. 그리고 브라우저가 웹 서비스에 접속할 때 브라우저는 자동으로 쿠키를 헤더에 포함시켜 요청을 내보낸다고 했습니다. 이 덕분에 우리는 포털 사이트, SNS와 같은 웹 서비스에 한 번 로그인한 후 일정 기간은 로그인하지 않고도 바로 서비스를 사용할 수 있습니다. 하지만 이용자가 악의적인 페이지를 접속했을 떄, ㅇ페이지가 자바스크립트를 사용해 이용자의 SNS웹 서비스로 요청을 보낸다면 어떻게 될까요? 우리가 이해한 대로라면, 브라우저는 요청을 보낼 때 헤더에 해당 웹 서비스 쿠키를 포함시킬 것입니다. 따라서 자바스크립트로 요청을 보낸 페이지..

    [ Web Hacking ] - Cookie & Session

    [ Web Hacking ] - Cookie & Session

    쿠키 클라이언트의 IP 주소와 User-Agent는 매번 변경될 수 있는 고유하지 않은 정보일 뿐만 아니라, HTTP프로토콜의 COnnectionless와 Stateless특징 때문에 웹 서버는 클라이언트를 기억할 수 없습니다. Connectionless, Stateless Connectionless : 하나의 요청에 하나의 응답을 한 후 연결을 종료하는 것을 의미합니다. 특정 요청에 대한 연결은 이후의 요청과 이어지지 않고 새 요청이 있을 때 마다 항상 새로운 연결을 맺습니다. Stateless : 통신이 끝난 후, 상태 정보를 저장하지 않는 것을 의미합니다. 이전 연결에서 사용한 데이터를 다른 연결에서 요구할 수 있습니다. 이러한 HTTP에서 상태를 유지하기 위해 쿠키가 탄생했습니다. 쿠키는 key와..