[취약점 제보] 그누보드 최신버전 5.6.13 버전 취약점 제보
1. 그누보드
https://ilsancityboy.tistory.com/4
2주차 과제 - 그누보드란?
2주차 과제 - 1. 파이썬 이해하기.- https://wikidocs.net/book/2 왕초보를 위한 Python: 쉽게 풀어 쓴 기초 문법과 실습 프로그래밍을 한 번도 해본 적이 없는 분들을 위해, 파이썬을 통해 처음으로 프로그
ilsancityboy.tistory.com
2023년 군복무를하며 웹 언어에 대한 기초지식을 쌓을때 알게되었던 게시판 및 쇼핑몰의 오픈소스인 그누보드를 대상으로 화이트박스&블랙박스 테스트를 통해 취약점을 탐색해보았다.
2. 취약점 제보 결과
최종결과를 먼저 말하자면 XSS가 되는 두군데정도를 찾아 회사 이메일로 제보를하였고 6월 12일날 이 제보한 내용으로 기반으로 보안패치가 이루어진 최신버전이 배포되었다.
3. 취약점을 찾게된 과정
3-1. 진행한 환경
2025년 05월 15일에 올라온 가장 최신버전을 가져와 클라우드에 올리고 환경을 마련하여 그 내에서 실습을 진행했다.
실제 환경 페이지
3-2. 취약점을 찾기 위한 행적들
블랙박스 입장
먼저 화이트박스 입장으로 코드를 직접열어보고 확인하는것보단 아무런 정보가 없을때 버그바운티나, 실제 해커의 입장에서 취약점을 찾아보려 노력했었다.
1.burp suite로 사용자의 입력을 받고 서버로 전달될때의 파라미터 이름과 값들 등등을 수집.
2.f12키로 html 구조나 js의 구조들 등등의 정보들을 수집.
3.숨겨진 경로들을 찾거나 디렉토리 리스팅등을 찾아보기 위해 url경로로 brute force 툴 사용.
4. 파일 업로드 취약점을 찾아보기 위해 게시글에 글을쓰며 악성 php코드 파일을 올리거나 악성코드들을 삽입
=> 블랙박스 입장에선 어지간한 노가다이기도 하고 맨땅에 헤딩하는 급으로 진행되서 시간이 너무 지체되고 피곤했음. 나오는 결과도 딱히 찾은게 없었음. 따라서 화이트박스 입장에서 찾기로 변경
화이트박스 입장
1. 사용자들이 올린 파일들이 어떻게 어디에 저장되고 어떤방식으로 처리를 하는지 직접 확인했음
=> 사용자가 올린 파일들은 서버의 별도 폴더 내에 저장되고 파일이름들을 암호화하거나 난수 처리해서 저장하게 되어있었음.
따라서 서버에 저장된 파일들을 지정하고 직접 실행시키기에 무리가 있다고 판단. (저장된 파일의 이름을 지정하지 못하기 때문)
=> 다운로드를 시도할때 브라우저에서 직접 접근하는게아니라 해당 파일의 경로만을 알려주고 다운로드하게끔 코드설정이 되어있음. 그저 "다운로드"만 처리하게끔 코드 작성되어있어서 파일 업로드 취약점은 찾기 힘들다고 판단.
2. 사용자의 입력값이나 이 값을 출력하는 코드들을 위주로 살펴봤을때 보안적 기능을 담당하는 함수들을 먼저 정리해뒀음.
clean_xss_attributes나 clean_xss_tags() 등등의 개발자들이 직접 보안적 기능을 하기위한 사용자 정의 함수가 있길래 이 함수들을 역추적하여 어떤기능을하는지 정리해두고 남겨놨음. (사용자 정의 함수들은 개발자들이 직접 보안적 기능코드들을 따로 마련을 해둔 함수들이기에 보안적으로 완벽하지 않을것으로 예측함. 어떤 함수를 쓰고있다? => 이 함수는 이렇게하면 뚫린다..! 라는식으로 기억함)
3. 그누보드는 새 버전이 올라오거나 패치가 이루어지면 깃허브, 배포 정식사이트에 패치에 대한 내용들을 공유하고 있음.
따라서 비교적 최신 패치내역들을 보며 " 왜 이렇게 패치했지? " 방식으로 접근함.
최신에 패치된 내용이면 그 내용들을 비슷한 흐름대로 흘러가는 다른부분의 코드들에서는 패치가 누락되었을수도 있다고 접근.
결국 찾아보다가 아래와 같은 내용의 취약점들을 찾았고 이메일로 제보함.