Portswigger-Information disclosure in error messages

problem link

풀이

Verbose 에러 메시지에서 취약한 서드 파티 프레임워크 버전 정보를 알려준다. 문제를 해결하기 위해서 프레임워크의 버전 정보를 등록하라.

유저의 input을 받는 부분을 탐색했다. 포스트 ID를 통해 읽을 글을 지정했다.

Burp Intruder에 넣고 에러를 일으킬만한 페이로드를 넣어보았다. ID가 숫자이므로 몇 가지 숫자, 음수, 아주 큰 수, 문자열 등을 넣었다. 문자열을 넣었을 때 서버가 500 상태코드를 보내며 흥미로운 에러 메시지를 보냈다.

스택 트레이스는 입력값이 숫자가 아니라는 오류를 보여주었다. 또한 에러 메시지에는 Apache Struts 2 2.3.31 버전이라는 정보가 유출되었다. 이는 RCE 등의 취약점이 있는 버전이다.

Apache Struts 2 2.3.31 를 정답으로 입력하면 문제가 해결된다.

이 취약점은 에러 메시지에서 불필요하게 정보를 노출해서 발생하였다.


tags: writeup, information disclosure vulnerability, wstg-info-08, web hacking