DVWA에서 CSRF 실습하기 (Low)

맑음·2025년 5월 19일
post-thumbnail

CSRF?

CSRF (Cross-Site Request Forgery) 공격은 지속적으로 웹 애플리케이션을 위협하는 보안 취약점 중 하나로 공격자가 사용자의 인증 정보를 악용하여 의도하지 않은 요청을 서버에 보내는 방식입니다

더 상세한 내용은 CSRF에 대해 알아보기를 확인해주시면 감사하겠습니다

DVWA 환경에서 CSRF 공격 실습하기

본 실습은 DVWA 환경을 구축한 후 가장 취약한 환경인 Low 레벨에서 진행되었습니다!

추가적으로 이번에는 Burp Suite를 활용했습니다
설정 및 간단한 HTTP 요청 분석은 Burp Suite로 HTTP 요청 분석하기를 확인해주시면 감사하겠습니다

이번에는 CSRF를 들어가봅시다
비밀번호를 바꿀 수 있는 창이 뜨네요
비밀번호를 한번 바꿔봅시다

원하는 비밀번호를 적은 다음 Change를 누르고 BurpSuite에서 확인해보겠습니다
Request 부분에 요청이 나타나는 것을 확인할 수 있네요
여기서 주목할 부분은 GET 부분입니다

GET /vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change HTTP/1.1

보이시나요?
저는 password로 변경하려고 했습니다

새로운 패스워드와 새로운 패스워드 확인에 입력한 값이 각각 password_new, password_conf에 저장되고 change 파라미터와 함께 GET 메서드를 이용해 서버에 전송하는 것을 확인할 수 있습니다

그렇다면 이번에도 XSS 실습 때와 마찬가지로 URL을 설정하여 클릭하도록 해보겠습니다
URL은 아래와 같습니다

http://127.0.0.1/vulnerabilities/csrf/?password_new=1234&password_conf=1234&Change=Change

앗! 제 계정이 해킹 피해가 의심된다네요
비밀번호를 변경해야겠습니다
헉 링크를 클릭한 순간 바로 Password Changed가 뜨네요

이렇게 오늘은 간단하게 실습을 진행해봤습니다
근데 이제 제 계정은 어떡하죠ㅜㅜ

실습 후기

이번에는 CSRF에 대해 실습을 진행해봤습니다
Burp Suite까지는 굳이 사용을 할 필요는 없었던 것 같습니다

하지만 Burp Suite에 있는 Proxy의 Intercept를 통해 패킷 분석도 해보면서 익숙해지고 이를 통해 GET 기반 CSRF 공격을 해보면서 GET 메서드에 대해 좀 더 이해할 수 있었습니다

처음엔 Firefox로 진행하려고 했는데 제대로 Proxy 설정을 한 것 같은데도 불구하고 127.0.0.1로 접속을 해도 Burp Suite가 패킷을 잡지 못하는 것 같아서 Burp Suite에 있는 브라우저를 활용해 진행했습니다

근데 실습을 다 하고 찾아보니 Firefox는 localhost나 127.0.0.1은 프록시 서버를 거치지 않는다고 하네요
제가 설정 창을 너무 대충 봤나 봅니다...
ifconfig를 통해 할당된 IP 주소를 이용해서 들어가니 Burp Suite가 잘 잡네요!

이렇게 또 지식이 늘었습니다ㅎㅎ
아! 그리고 실습 후 프록시 설정을 끄는 것을 잊지 맙시다!!

profile
내일도 맑음

0개의 댓글