기본적으로 일반 사용자로 접근하게 되면 공지사항의 글은 열람만 가능하고 수정 및 삭제가 불가능하도록 구현되어 있을 것이다. 하지만 여기서 제대로 된 권한 검증을 진행하지 않으면 우회하여 공지사항 글을 변조 및 삭제할 수 있다.
공지사항 글에 접근하고 URL을 살펴보면 Detail 이라고 하는 페이지임을 확인할 수 있다. 여기서 보통 개발자들은 페이지를 생성할 때 형태가 비슷하다.
열람 페이지는 Detail, Show
수정 페이지는 Modify, Edit, Update, ForUpdate
삭제 페이지는 Delete, Remove
그렇기에 만약 세션 검증이 존재하지 않는다면 위의 URL을 유추하여 접근함으로써 수정 및 삭제 페이지에 접근하게 될 수 있는 것이다.
해당 대상에서는 URL 주소를 Edit으로 변경하였더니 해당 공지사항 게시글의 수정 페이지로 이동한 것을 확인할 수 있었다.
최종적으로 저장이 되며 변조가 된 것을 확인할 수 있었다.
또한, 이렇게 취약한 공지사항 게시판의 경우 POST 방식이면 패킷에서 접근 Mode 방식 등을 변조하거나, 소스코드에 노출된 함수, 일반 게시글 등록 후 패킷 변조를 통해 공지사항 수정 페이지로 접근하는 등의 행위로 공지사항 글에 접근이 가능한 경우가 많다.
이에 대한 대응방안을 설립하고 싶다면 세션 검증을 추천한다. 공지사항 관련 페이지는 관리자만 접근할 수 있도록, 관리자에게만 부여되는 난수의 키 값이나 세션 값을 사용하여 해당 세션 값을 가지고 있지 않으면 접근이 불가능하도록 조치한다.
'3. 웹 애플리케이션 취약점 진단' 카테고리의 다른 글
위치 공개 - Shodan과 구글 검색이 위험한 이유 (0) | 2024.06.21 |
---|---|
정보 누출 - 소스코드에 노출된 솔루션 로그인 페이지 (0) | 2024.06.21 |
프로세스 검증 누락 - 권한을 우회하여 타인의 글 변조 (0) | 2024.06.21 |
파일 다운로드 - 웹 서버 내부의 시스템 파일 다운로드하기 (0) | 2024.06.21 |
프로세스 검증 누락 - 항공권을 공짜로 예매하는 것은 결제 취약점만 막으면 될까? (0) | 2024.06.21 |