token, XSS, CSRF

sang hyeok Lee·2022년 4월 14일
0

token

프로그래밍 언어에서의 토큰은, 문법적으로 더 이상 나눌 수 없는 기본적인 언어요소를 말하는데, 예를 들어 하나의 키워드나 연산자 또는 구두점 등이 토큰이 될수 있다. 네트웍에서 말하는 토큰이란, 토큰링 네트웍을 따라 돌아다니는 일련의 특별한 비트열이다. 컴퓨터들은 네트웍을 따라 순환하는 토큰을 자신이 잡았을 때만 네트웍에 메시지를 보낼 수 있다. 각 네트웍에는 오직 단 한 개의 토큰만이 존재함으로써, 두 개 이상의 컴퓨터가 동시에 메시지를 전송할 가능성을 사전에 차단한다. 보안 시스템에서의 토큰은, 크레딧 카드 크기의 작은 장치를 말하는데, 계속해서 변화하는 ID 코드를 표시해준다. 사용자가 처음에 암호를 입력하면, 카드는 네트웍에 접속할 수 있는 ID를 그때그때 표시해준다. 보통, 매 5분마다 ID가 변경된다. 협력하여 일하는 행위자들 간에 공유자원 접근에 대한 동기화를 보장하기 위해 전달되는 추상적인 개념을 말한다. 이러한 토큰은 절대로 복사될 수도 손상될 수도 없으며, 토큰을 가진 사람이면 누구라도 특정 자원의 배타적 접근이 허용되며, 그것을 통제할 수 있는 권한을 가지게 된다. 예를 들어, 여러 명의 프로그래머가 하나의 프로그램을 협력하여 개발한다고 할 때, 어떤 순간에는 토큰을 가지고 있는 오직 단 한 명의 프로그래머만이 그 프로그램을 수정할 수 있으며, 다른 프로그래머들은 볼 수만 있다. 누군가가 그 프로그램을 수정하길 원하면, 먼저 토큰을 얻어야만 한다. 이렇게 하면, 여러 명의 프로그래머가 동시에 서로 다른 수정을 함으로써 야기될 수 있는 문제를 사전에 봉쇄할 수 있다.

XSS

XSS란 웹사이트 관리자가 아닌 사람이 웹사이트에 악성 스크립트를 삽입할 수 있는 취약점을 이용한 공격기법이다. 사용자로부터 받은 입력을 제대로 검증하지 않을 때 나타나며 사용자의 정보를 탈취하거나 비정상적인 기능을 실행할 수 있다.
3가지의 공격법이 있는다.

1.저장XSS: 웹사이트에 취약점이 있는 웹 서버에 스크립트를 저장시켜서 해당 웹사이트를 요청하는 사용자로 하여금 스크립트를 실행하게 하는 기법이다.
2.반사XSS: 검색을 사용할 때 결과가 없으면 브라우저에서 입력한 값을 문서에 포함하여 응답하는데 이를 사용하여 스크립트를 실행하는 기법으로 악성 URL을 배포하여 클릭하도록 유도하는 방법을 사용한다.
3.DOM기반XSS: 공격 스크립트가 DOM 생성의 일부로 실행되면서 공격하는 기법으로 반사 XSS와 마찬가지로 악성 URL을 배포하여 클릭하도록 유도한다.

CSRF

CSRF는 사용자가 의도치 않게 공격자가 의도한 행동을 하여 취약점을 노출시키거나 수정/삭제/생성 등을 하게 만드는 공격 기법이다. 이메일을 열어보거나 악성 사이트에 접근했을 때 특정한 요청을 하는 CSRF 스크립트를 실행하는 방식이다.

예시를 들면
www.mybank.com 에 접속해 있는 상태이다.
이 사이트에서 돈을 보낼 때 http://www.mybank.com/transfer?to=<계좌번호>&amount=<액수> 형식으로 보낸다고 하자.
www.cute-cat.org 사이트에 접속한다. (악성 사이트이다)
해당 사이트의 관리자가 위에서 말한 돈을 보내는 URL과 쿼리 방식을 알고 있다면 그 요청을 실행하는 CSRF 스크립트를 사이트에 넣을 수 있다.
사이트에 접속하면 해당 스크립트를 실행하게 되고 www.mybank.com 에 요청이 가게 되서 돈을 보내게 된다.

profile
개발자 되기

0개의 댓글