본문 바로가기

개발/보안

[보안] XSS 공격 이란?

✅ XSS 공격이란? 

 

 

  • 가장 널리 알려진 웹 보안 취약점 중 하나
  • 악의적인 사용자가 공격하려는 사이트에 악성 스크립트를 삽입 할수 있는 보안 취약점이다
  • 주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이루어짐
  • XSS를 통해 좀비 PC에 명령을 내리거나 악성 코드를 제어하는 서버로 리다이렉트 시키거나 사용자의 쿠키를 탈취하여 세션 하이재킹 공격을 할수 있다.

 

✅ XSS 공격 종류 ? 

  • 게시판 및 URL 인자값을 통해 악성 자바스크립트를 입력하여 공격하는 방법
  • Stored XSS
  • Reflected XSS
  • DOM Based XSS

 

✅ Stored XSS ?

  • 해커가 악의적인 스크립트가 담긴 게시물을 등록
  • 사용자 쿠키 정보를 탈취하는 스크립트를 포함한 게시물을 작성
  • 희생자는 해당  열람  쿠키 정보가 공격자에게 전송됩니다.
  • 희생자의 쿠키 정보를 이용해 계정을 탈취합니다.

 

✅ Reflected XSS ?

  • Reflected XSS 공격은 XSS 공격 방법 중 하나로 사용자가 입력한 URL 이나 Parameter , Cookie 등을 기반으로 Script 가 실행되도록 하는 공격을 말합니다.
  • 웹 어플리케이션의 지정된 파라미터를 사용할 때 발생하는 취약점을 이용한 공격법
  • "검색어" 같은 쿼리 스트링을 URL에 담아 전송 했을때, 서버가 필터링 하지 않고 쿼리에 포함된 스크립트를 응답 페이지에 담아 전송함으로써 발생
  • 공격용 스크립트가 웹 사이트에 있지 않고 다른 매체(타 사이트, 이메일)에 포함  될 수 있다.
  • Stored XSS와는 다르게 데이터베이스에 스크립트가 저장되지 않고 응답 페이지로 바로 클라이언트에 전달된다는 차이점이 있다. 
<script>alert(document.cookie)</script>

✔️ 다음과 같은 형태로 Script 태그를 게시판에 입력한다. 

✔️ 정상적으로 공격이 성공하였다면 아래와 같이 접속한 도메인 정보, 사용자의 쿠키 정보를 포함한 알람창이 공격자가 입력한 코드에 의해 타나되는 것을 확인할 수 있습니다.

 

'개발 > 보안' 카테고리의 다른 글

[보안] 불필요한 메서드 제거  (0) 2020.12.07
[보안] SQL 인젝션  (0) 2020.09.16