본문 바로가기

웹 해킹(Web Hacking)7

XSS란? 클라이언트 사이드 취약점은 웹 페이지 이용자를 대상으로 공격할 수 있는 취약점이다. 이를 통해 이용자를 식별하기 위한 세션 및 쿠키 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다. 클라이언트 사이드 취약점 중 XSS가 있다. XSS(Cross Site Scripting) : 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있다. 공격자는 해당 취약점을 통해 특정 계정의 세션 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다. 예를 들어, 공격자가 특정 웹 사이트 내에서 오리진 권한으로 XSS 공격으로서 악성 게시글을 작성했다고 해보자. 악성 스크립트가 삽입되면, 이용자가 이 웹 사이트의 악성 게시글에 방문할 때, 공격자가 임의로 삽.. 2024. 1. 6.
동일 출처 정책(Same origin Policy) SOP란? 쿠키에는 인증 상태를 나타내는 민감한 정보가 보관되며, 브라우저 내부에 저장되어 있다. 브라우저가 웹 서비스에 접속할 때 브라우저는 자동으로 쿠키를 헤더에 포함시켜 request를 서버에 보낸다는 사실을 알고 있다. 만약, 이용자가 악의적인 페이지에 접속할 때, 이 페이지가 JS를 사용해서 이용자의 SNS 웹 서비스로 request를 보내면 어떻게 될까? 브라우저가 request를 보낼 때, 헤더에 해당 웹 서비스 쿠키를 포함시킬 것이다. 따라서 JS로 request를 보낸 페이지는 로그인된 이용자의 SNS response를 받을 것이다. 또한, 마음대로 페이지 접속자의 SNS에 글을 올리거나, 삭제하고, SNS 메신저를 읽는 것도 가능할 것이다. 이러한 문제점을 막기 위해 동일 출처 정책, Same O.. 2024. 1. 5.
쿠키와 세션(Cookie & Session) 웹 서버는 수많은 클라이언트 HTTP 프로토콜을 사용해서 통신한다. 클라이언트가 손님 계정으로 로그인했다면 손님이 이용할 수 있는 서비스를 제공해야 하고, 관리자 계정으로 로그인했다면 데이터베이스, 회원 관리 등의 관리자 페이지를 제공해야 한다. 즉, 서버는 클라이언트가 어떠한 권한으로 접속했는지에 따라 다른 서비스를 제공해야 할 수 있다. 그러므로 웹 서버는 수많은 클라이언트들을 구별할 필요가 있다. 클라이언트의 인증 정보를 통해 구분한다. 클라이언트가 서버에게 HTTP 프로토콜로 request를 보낸다. 여기에는 GET, POST와 같은 메소드와 자원의 위치를 가리키는 URL 등이 포함되어 있고, 헤더가 있다. 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 등의 데이터가 포함되는데, 클라이언트.. 2023. 12. 28.
개발자 도구와 기능 개발자 도구 : 말 그대로 개발자를 위한 도구이며, 웹 브라우저를 열고 F12를 누르면 이를 확인할 수 있다. 상단에서 좌측부터 우측 순으로 옵션은 다음과 같다. 요소 검사(Inspect), 디바이스 툴바(Device ToolBar) ----------------------------------------------------------------------------------------------------------------- Elements: 페이지를 구성하는 HTML 검사 Console: JS를 실행하고 결과를 확인할 수 있다 Sources: HTML, CSS, JS 등 페이지를 구성하는 리소스를 확인하고 디버깅할 수 있다 Network: 서버와 오가는 데이터를 확인할 수 있음 Performa.. 2023. 12. 27.