억대 연봉을 위한 인간수업
article thumbnail
반응형

웹 해킹의 기법에 대해 검색하다 보면 XSS라는 공격 기법이 있다는 것을 알게된다. 웹  취약점을 발표하는 OWASP에서도 거의 매법 언급될 정도로 널리 알려진 웹해킹 기법이다.

 

출저 : https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2020/

웹의 특징을 사용한 XSS라는 공격기법은 어떤것인지 알아보자.

 

 

 

 

XSS(Cross-Site-Script)란?

 - Cross-Site-Script라고도 불리는 XSS는 웹 해킹 공격 기법중 하나이다.

 - 클라이언트와 서버간의 통신을 스크립트를 통해 조작하는 것을 의미한다.

 - 따라서 웹 클라이언트(크롬, 익스플로러, 파이어 폭스 등..)의 특정을 이용한 공격이라 할 수 있다.

 - 웹 클라이언트는 request/response 응답값을 통해 통신을 주고받는데, 공격자가 작성한 클라이언트 언어(HTML,JSP,PHP)를 사용해 공격을 한다.

 - 사용자가 서버로 부터 response값을 받을때 웹 클라이언트가 코드를 읽으며 악성코드가 실행되는 원리로 공격이 이루어 진다.

 - 따라서 사용자가 접근하기 때문에 공격이 일어나므로 사용자를 공격하는 기법이라 할 수 있다.

 - 공격자는 script를 작성해 공격을 시도하며 주로 사용자의 세션ID, ID/PW값 등을 탈취할 때 사용한다.

 - XSS는 두가지 기법으로 나뉜다.

 

 

 

 

 

1. Stored XSS

 - 게시판, 댓글, 기타 저장 가능한 공간에 악성스크립트를 삽입해 영구적으로 저장하는 방법

 - 웹 서버에 악성코드를 저장해 지속적으로 XSS 공격을 일으킨다는 특징이다.

 - 저장된 악성 스크립트는 웹클라이언트에 의해 실행되며 해당 악성코드를 읽을 때 마다 공격이 계속해서 일어난다.

 - 게시글 등 악성 코드는 불특정 다수에게 공격이 일어나므로 가장 위험한 공격 유형이라 할 수 있다.

 

 

 

2. Reflected XSS

 - 사용자 입력값이 서버를 통해 다시 사용자에게 반사 되는 공격 기법

 - 주로 URL을 통한 공격이 일어난다.

 - 피싱 등을 통해 사용자가 특정 URL에 접속을 유도해 공격을 수행한다.

 - "http://www.test.com/?악성코드" 방식으로 수행이 되며 파라미터 값이 들어가는 곳 대신 악성코드를 삽입해서 공격한다.

 - 공격 후 값이 반드시 '반사'되어야 공격이 이루어지는데, 반사되는 값을 보여주는 형태가 있어야 공격이 이루어진다.

 - 그러나 최근엔 reflected XSS 공격 방어가 잘 되어있어서 성공하기 힘든 공격 이기도 하다. 

 

 

 

 

 

XSS 활용 공격

 - 위와 같은 특징을 활용해 XSS를 활용해 다음과 같은 공격을 수행할 수 있다.

1. 사용자의 쿠키/세션 ID 탈취

2. 사용자 계정/개인정보 탈취

3. 악성 스크립트 실행/악성 코드 다운로드

4. DoS 공격

5. Keylogger : 사용자 입력값 가로채기

반응형
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.