XSS(Cross Site Scripting)
XSS는 공격자가 작성한 스크립트를 피해자의 웹 브라우저에서 실행하는 해킹 방법이다.
쿠키나 개인 정보를 훔치거나,
악성 웹 사이트로 리디렉션하거나,
악성 코드를 감염시키는 등
피해자의 브라우저에서 원하는 동작 수행이 가능하다.
XSS에는 세 가지 방법이 있다.
오늘은 여기에 대해 먼저 알아보도록 하자.
1. 반사형 XSS(Reflected XSS)
피싱 등의 방법을 사용해 특정한 사용자를 대상으로 공격하는 방법.
사용자가 피싱 메일이나 잘못된 웹 사이트 링크를 클릭하면 악성 스크립트가 삽입된 요청을 특정 서버에 전달한다.
서버는 이를 그대로 응답하여 브라우저에서 실행하는 형식이다.
2. 저장형 XSS(Stored XSS)
악성 스크립트가 담긴 게시물을 등록해 서버에 저장해 두면 여러 사용자가 접근할 때마다 실행되는 형식.
불특정 다수를 공격 대상으로 하며
해당 페이지에 접근하는 모든 사용자의 웹브라우저에서 스크립트가 실행하도록 하는 것이 목적.
3. DOM 기반 XSS(DOM-based XSS)
클라이언트 측 스크립트가 DOM을 조작하여 발생하는 XSS로 서버와의 통신 없이 클라이언트에서 발생한다.
Stored와 Reflected가 서버측 어플리케이션 취약점으로 인해 공격하는 반면,
DOM 기반 XSS는 서버와 관계없이 브라우저에서 발생한다.
* DOM(Document Object Model)
웹 페이지의 모든 요소를 트리 구조로 표현한 것으로 웹 페이지의 각 요소(텍스트, 이미지, 링크 등)에 접근하고 수정할 수 있다.
구글, 네이버 같은 검색 엔진에서의 자동 완성 기능, 소셜 미디어의 새 게시물 로드, 전자 상거래 사이트의 장바구니 업데이트,
뉴스 사이트의 실시간 댓글 반영 등 다양한 곳에서 DOM을 사용한다.
'모의 해킹' 카테고리의 다른 글
[웹 해킹] 7. 저장형 XSS(Stored XSS) 공격과 방어 (0) | 2024.07.09 |
---|---|
[웹 해킹] 6. 반사형 XSS(Reflected XSS) 공격과 방어 (0) | 2024.07.07 |
[웹 해킹] 4. SQL Injection 방어_Prepared Statements (0) | 2024.07.02 |
[웹 해킹] 3. SQL Injection 공격 (0) | 2024.06.28 |
[웹 해킹] 2. DVWA 보안 난이도 조정하기 (0) | 2024.06.26 |