본문 바로가기
3. 웹 애플리케이션 취약점 진단

불충분한 인가 - 일반 사용자로 공지사항 글 변조

by Robert8478 2024. 6. 21.

기본적으로 일반 사용자로 접근하게 되면 공지사항의 글은 열람만 가능하고 수정 및 삭제가 불가능하도록 구현되어 있을 것이다. 하지만 여기서 제대로 된 권한 검증을 진행하지 않으면 우회하여 공지사항 글을 변조 및 삭제할 수 있다.

공지사항 글에 접근하고 URL을 살펴보면 Detail 이라고 하는 페이지임을 확인할 수 있다. 여기서 보통 개발자들은 페이지를 생성할 때 형태가 비슷하다.

열람 페이지는 Detail, Show
수정 페이지는 Modify, Edit, Update, ForUpdate
삭제 페이지는 Delete, Remove

그렇기에 만약 세션 검증이 존재하지 않는다면 위의 URL을 유추하여 접근함으로써 수정 및 삭제 페이지에 접근하게 될 수 있는 것이다.

해당 대상에서는 URL 주소를 Edit으로 변경하였더니 해당 공지사항 게시글의 수정 페이지로 이동한 것을 확인할 수 있었다.

최종적으로 저장이 되며 변조가 된 것을 확인할 수 있었다.

또한, 이렇게 취약한 공지사항 게시판의 경우 POST 방식이면 패킷에서 접근 Mode 방식 등을 변조하거나, 소스코드에 노출된 함수, 일반 게시글 등록 후 패킷 변조를 통해 공지사항 수정 페이지로 접근하는 등의 행위로 공지사항 글에 접근이 가능한 경우가 많다.

이에 대한 대응방안을 설립하고 싶다면 세션 검증을 추천한다. 공지사항 관련 페이지는 관리자만 접근할 수 있도록, 관리자에게만 부여되는 난수의 키 값이나 세션 값을 사용하여 해당 세션 값을 가지고 있지 않으면 접근이 불가능하도록 조치한다.