wonder

정보보안 스터디 - 7주차 1일 - CSRF 개념 본문

hacking study/CSRF

정보보안 스터디 - 7주차 1일 - CSRF 개념

wonder12 2022. 11. 25. 01:09

 

☞ CSRF 란

피해자가 의도치 않게 웹서버로 특정 요청을 하게 만드는 것입니다.

 

피해자에게 세션이 있고 공격자는 세션이 없기 때문에

세션을 뺏어오는 방법이 아니라

이메일 변경 url요청을 의도적으로 세팅해서 보낸다면 

피해자는 서버로 요청을 보내게 되어 피해자의 권한을 이용할 수 있을 것입니다. 

링크에 들어가기만 하면 실행되는 위험한 공격입니다.

 

예를들어 시나리오는

csrf 링크를 클릭해서 비밀번호를 변경하게 한다거나, 이메일을 변경한다거나 게시물을 작성하는 것입니다.

 

비밀번호 전송을 하고 url분석을 해보면 get또는 post 방식으로 비밀번호를 변경을 하는 history를 볼 수 있습니다. 

공격자가 url을 예상해서 1234로 변경하겠다는 링크를 만들어 보내면

사용자는 클릭을 하고 그 권한을 이용하여 변경이 가능합니다.

공격자가 사용자의 세션을 모를 때 그 권한을 이용하여 행동을 유도하는 방법입니다.

 

 

 CSRF vs XSS 차이점

 

개념이 reflected XSS와 비슷해서

csrf와 xss의 차이점을 헷갈릴 수 있습니다만 

명확히 다른 공격이며 차이점을 확실히 알아야합니다.

 

csrf는 사용자가 서버에 요청을 보내게 하는것이고

xss는 클라이언트 측에서 코드를 실행하게 하는것입니다.

 

 

 

공격이 일어나는 이유

공격이 일어나는 이유도 

공격자가 요청에대한 예측이 가능해서입니다.

 

막게 하기 위해서 링크를 못만들게 해야합니다.

기존 비밀번호를 써야 변경가능하도록 하거나

POST방식으로만 받는 방법이 있습니다.

 

 

 XSS와의 연계

POST방식만 받아들인다면

CSRF 단독공격은 불가능합니다.

그래서 XSS와 연계하여 써야하는데

xss와 연계해서 쓴다면 영향력을 극대화 시킬 수 있습니다.

 

stored xss으로 POST방식의 폼을 만들어 이동하게 합니다.

 

 

Stored XSS를 할 때

stored XSS를 할 때 유의해야할 점을 복습하자면

일단 수정 페이지와 글 읽기 페이지를 Repeater에 놓고

수정은 직접하는 것이 아니라 Burp suite를 통해서 하고 반응을 봅니다.

그래야 하는 이유는 방어자가 클라이언트 측의 웹브라우저에 entity 필터링을 설정 했다면

직접 글수정 못할 것이기 때문입니다.

 

 

다음시간에는 html 폼을 완성시키고 

XSS가 없는데도 왜 CSRF가 되는지

어떻게 해야 성공적인 CSRF 할 수 있을지 알아보겠습니다. 

시나리오와 함께 개념을 다시 정리하겠습니다.   

 

 

 

 

 

Comments