웹해킹 CSRF

2017.04.09 01:15

졸리운_곰 조회 수:339

CSRF

최근 수정 시각:

 

1. 개요2. 공격 방법3. 예시4. 방어 방법
 

 

1. 개요[편집]

[오류!] CSRF 방지 토큰이 일치하지 않습니다. 다시 시도해주세요.[1]

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com


사이트 간 요청 위조(Cross-site Request Forgery)

웹 어플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법을 의미한다. 2008년에 발생한 옥션개인정보 유출사건에서도 관리자 계정을 탈취하는데 이 방법이 사용되었다. 공격의 난이도가 높지 않아 널리 사용되는 방법 중 하나다.

2. 공격 방법[편집]

이러한 공격을 하기 위하여 해커는 우선 공격을 할 사이트를 먼저 분석한다. 예를 들어서, 나무위키의 경우에 토론은 namu.wiki/topic/ 이라고 시작하며 뒤에 숫자가 붙는 형식인데 이 뒤의 숫자에 패턴이 있다.[2] 그러면 이 패턴을 이용하여 일반적인 방법으로 접근할 수 없는 페이지를 오픈 한다든지, 개발에 사용되고 실제로 사용하지 않는 샘플 페이지를 찾아낸다든지 이러한 방법이 가능하다. 그것이 아니라 웹페이지가 독자적 개발이 아닌 외부에서 이미 개발된 웹 어플리케이션을 사서 조금 수정한 것이라면 공격자는 경우에 따라서 해당 웹 어플리케이션을 구매하여 개인 서버에 설치를 한다. 그 다음에 공격 가능 패턴을 분석한다. 주로 공격자들이 찾는 것은 사용자 패스워드 변경페이지나 타 시스템과 로그인 연동 주소 패턴같은 인증 관련된 취약점을 찾는다.
그 다음에 여기서 나온 취약점을 이용하여 공개된 게시판이나 메일을 이용하여 사용자가 해당 링크를 열게 만들면 공격이 완료된다.

3. 예시[편집]

만일, A라는 사이트의 사용자 개인 비밀번호 변경을 하는 주소 패턴이 abc.com/user.do?cmd=user_passwd_change&user=admin&newPwd=1234 라고 한다면 이러한 링크를 사용자의 메일로 XSS 형태로 보내고 메일을 읽게되면 해당 사용자의 패스워드가 1234로 초기화 된다. 이를 관리자에게 보내서 일반계정을 관리자 계정으로 바꾸도록 한다든지, 아니면 관리자 계정 패스워드를 바꾸는데 이용한다면 해당 사이트의 모든 정보가 해킹당하는데는 오랜 시간이 걸리지 않는다.
참고로, img 태그도 GET 메소드를 사용해서 보내는 것이기 때문에 img를 이용할 수도 있다! 대부분의 사이트는 img를 필터링하지 않으므로, 혹은 필터링하지 못하므로 유용한(...) 방법이 될 수 있다.
예를 들면 나무위키의 경우 <img src="https://namu.wiki/logout"> 와 같은 코드를 넣어주면 해당 문서를 볼 경우 로그아웃이 된다. 이는 나무위키뿐만이 아닌 대부분의 사이트의 문제.

4. 방어 방법[편집]

방어 방법 중 가장 기초적인 방법은 Referer 체크를 하는 방법이 있다. Referer는 HTTP 헤더에 있는 정보로 해당 요청이 요청된 페이지의 정보를 가지고 있는데 해당 정보는 Paros나 Zap, fiddler같은 프로그램으로 조작이 가능하지만 방법이 간단하여 소규모 웹사이트에 주로 이용되는 방법이다.
그 외에는 패스워드 변경 같은 민감한 정보를 다룰 때에는 세션에 임의난수(토큰)를 발급하여, 해당 난수가 없는 상황에서 해당 동작들이 이루어지면 요청을 거부하는 방법을 통하여 사용자가 정말로 변경을 의도하는 경우에만 변경을 시켜주는 방법, 변경 시에 CAPTCHA를 이용하여 캡챠 인증코드가 없거나 틀리면 거부하도록 하는 방법 등이 이용되고 있다. 또한 GET/POST 등을 구분하여 주는 것 역시 유용하다. img 태그 등을 이용할 경우 GET 요청으로 들어오게 될 것이고, 반면 흔히 하듯 form을 이용해 값을 받을 경우 POST를 이용하게 되는 경우가 많기 때문이다. 위의 방법들을 일일이 적용하기 귀찮다면, 대개 프레임워크에서 위의 방법들을 통합한 플러그인 등을 제공하는 경우들이 많으니 찾아보도록 하자. 또한 form 대신 ajax[3]를 통한 JSON API만 사용하는 방법이 있다.
 

[1] 이 오류가 왜 발생하는 지에 대해서 의견이 많다. 대개 한 문서를 편집하다가 다른 문서를 편집하다 보면 일어난다. 크롬에서 안되면 익스플로러로 시도해보자.[2] 실제론 토론이 개설된 순서대로 붙는 일련번호이다.[3] CORS가 비활성화되어 있어야 한다.
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 침투테스트(취약점검점검, 모의해킹) 문의 / 답변 졸리운_곰 2017.12.10 28357
197 [4.28 버그리포트] CVE-2017-8301 外 file 졸리운_곰 2017.04.28 133
196 사이버 위협 첩보 전문가가 되는 세 가지 방법 file 졸리운_곰 2017.04.27 127
195 손해배상, 2차 피해 등 ‘여기어때’ 해킹사고 후폭풍 거세지나 file 졸리운_곰 2017.04.27 102
194 인터폴, 아세안 지역서 C&C 서버 9000여개 적발 file 졸리운_곰 2017.04.26 142
193 한국 비트코인 거래소 ‘야피존’ 해킹!...55억 규모 탈취 file 졸리운_곰 2017.04.26 152
192 [4.24 버그리포트] CVE-2015-1521 外 file 졸리운_곰 2017.04.25 108
191 HTTP 응답 분할(HTTP Response Splitting, CRLF) 취약점 file 졸리운_곰 2017.04.25 915
190 우버, 극비 프로그램으로 경쟁사 `리프트` 정보 몰래 빼내 졸리운_곰 2017.04.15 161
» CSRF 졸리운_곰 2017.04.09 339
188 CSRF공격 file 졸리운_곰 2017.04.09 6622
187 디도스 이어 디페이스 공격! 中 해커들의 사이버 공습 본격화되나 file 졸리운_곰 2017.03.04 137
186 가전제품·자동차 해킹 위험 커져...사이버범죄자=도둑 시대 오나 file 졸리운_곰 2017.03.04 126
185 [사례로 보는 개인정보 침해] ⑩여행상품 전화상담 후, 문자·전화가 계속 와요 file 졸리운_곰 2017.03.04 134
184 차세대 사이버 전쟁은 선한 AI와 악한 AI간의 대결? file 졸리운_곰 2017.03.04 130
183 딥웹 .onion 익명 사이트 호스팅하기 (Tor를 사용한 .onion 주소 할당 방법) file 졸리운_곰 2017.02.11 1248
182 소프트웨어 개발보안(시큐어 코딩) 관련 가이드 file 졸리운_곰 2017.02.11 406
181 개인정보취급방침 만들기를 도와주는 웹사이트 file 졸리운_곰 2017.02.10 158
180 모바일 앱 개발과정에서 참고해야 할 프라이버시 보호 수칙 졸리운_곰 2017.02.10 215
179 SQL Injection 공격과 방어 방법 - php, asp 등 file 졸리운_곰 2017.01.17 1475
178 정보보안기사 실기 기출문제 1,2,3,4 회 file 졸리운_곰 2016.10.23 1058
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED