도카이트

[DVWA] CSRF (Low) 본문

Web/DVWA

[DVWA] CSRF (Low)

dodoh4t 2022. 5. 18. 21:25
728x90
반응형

Cross Site Request Forgery

웹 사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가

의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격

 

 

페이지 화면

[DVWA - CSRF]

- 비밀번호를 변경할 수 있는 폼을 확인할 수 있다!

- 기존의 비밀번호를 검증하는 로직 없이 새 비밀번호만 입력하면 변경 가능한 구조인듯 하다..?

 

 

패스워드 변경 완료 화면

[새 비밀번호 입력 후 변경 완료 화면]

- 기존 비밀번호 검증 없이 새로운 비밀번호 입력으로 비밀번호가 변경된다.

- 변경 완료 후 변경이 완료되었다는 Password Changed 문자열이 출력된다!

 

 

Test Credentials을 통한 비밀번호 변경 확인 / 로그인 검증

[변경한 비밀번호로 로그인 시도]

- 비밀번호가 성공적으로 변경되었는지 확인해보기 위해 Test Credentials 페이지에서 로그인을 시도해본다.

- 변경한 비밀번호를 입력하여 로그인 시도 시, 성공적으로 로그인됨을 확인할 수 있다!

 

 

URL 파라미터 값으로 노출되는 비밀번호 변경 값

[파라미터 값에 비밀번호 값 노출]

- Change 버튼을 누른 후 페이지가 새로 탐색되면서 확인할 수 있는 URL은 다음과 같다.

- password_new 값과 password_conf 값에 새로 변경할 비밀번호가 그대로 노출된다.

- 비밀번호 변경에 대한 action은 Change 값에 Chage를 통해서 진행되는 듯 하다!

 

 

취약한 비밀번호 변경 로직을 이용한 csrf.html 작성

[공격 페이지 작성 - csrf.html]

- 앵커 태그를 이용하여 Let's CSRF! 링크를 클릭 시, 공격자가 의도한 값인 csrf로 비밀번호가 변경되는 html을 작성한다.

 

 

csrf.html 접속 시 화면

[csrf.html 페이지 화면]

- Let's CSRF! 문자열에 링크가 걸려있는 것을 확인할 수 있다.

-  해당 링크를 클릭하면....

 

 

링크 클릭 시 공격자가 설정한 패스워드 변경 링크로 Redirection

[공격자가 설정한 URL로 Redirection]

- 링크 클릭 시 공격자가 설정한 패스워드 변경 URL로 리다이렉션 된다!

- 추가로, 패스워드가 변경되었음을 확인할 수 있는 화면이 출력된다.

 

 

CSRF 공격 성공 검증

[패스워드에 'csrf' 를 입력하여 로그인 시도]

- 공격자가 설정한 변경 패스워드 값인 ‘csrf’를 입력하여 로그인 시 성공적으로 로그인됨을 확인할 수 있다!

- 이를 통해서 성공적으로 CSRF 공격이 이루어졌음을 확인할 수 있다!!

728x90

'Web > DVWA' 카테고리의 다른 글

[DVWA] File Upload (Low)  (0) 2022.05.19
[DVWA] File Inclusion (Low)  (0) 2022.05.18
[DVWA] Command Injection (Low)  (0) 2022.05.16
[DVWA] Brute Force (Low)  (0) 2022.05.16
[DVWA] DVWA 설치 및 기본 환경 구축  (0) 2022.05.16
Comments