✅ 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 |