그누보드 5.2.8 취약점 패치 내용 분석
해당 내용은 연구 목적으로 작성 되었으며,
악용시 발생하는 불이익에 대해서는 책임지지 않음을 알려드립니다.
GNU BOARD 5.2.8 보안 패치 내용[링크]
주요 변경 내용
그누보드 파일 삭제 취약점 17-282 수정
https://github.com/gnuboard/gnuboard5/commit/e6a3df6f0873f627955d8cb23e9a6d8c08eae145
추가/변경 파일: plugin/editor/cheditor5/imageUpload/delete.php
추가/변경 내용:
파일 삭제 필터 추가
[외부 링크]
검색 컬럼 취약점 ….. jinmo123
자동로그인 인증 우회 취약점 ….. adm1nkyj
취약점 분석
> 취약점 이름: 파일삭제 취약점
> 주요 변경 내용
추가/변경 파일: plugin/editor/cheditor5/imageUpload/delete.php
추가/변경 내용:
파일 삭제 필터 추가
> 취약점
==========취약점 익스에 필요한 그누보드 설정==========
(cheditor5를 사용)
==========취약점 익스에 필요한 그누보드 설정==========
> 패치 내용
Github 참고: plugin/editor/cheditor5/imageUpload/delete.php
[ ... ] $filesrc = isset($_POST["filesrc"]) ? preg_replace("/[ #\&\+\-%@=\/\\\:;,\'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/", "", $_POST["filesrc"]) : ''; if( !$filesrc || ! preg_match('=^[^/?*;:{}\\\\]+\.[^/?*;:{}\\\\]+$=', $filesrc) || ! preg_match('/\.(gif|jpe?g|bmp|png)$/i', $filesrc) ){ [ ... ]
> 패치 분석
파일 동작 설명: filesrc로 넘어온 파일에 대해서 간단한 hash 검사 후 해당 되는 파일을 삭제
하지만 hash 검사는 파일을 올린 사용자만 구별할 뿐 시스템 파일 삭제를 막지 못한다.
-
취약점 발생 위치
http://[GNU_BOARD_HOST]/plugin/editor/cheditor5/imageUpload/delete.php

hash 필터를 위회해 파일을 삭제하기 위해 정상적인 파일을 올려 파일 이름을 구한다.

delete.php에 파라미터를 filesrc=[위에서 구한 파일 이름 '_'까지 삭제]/../../../dbconfig.php
와 같이 보낸다.
그럼 이렇게 dbconfig.php파일이 삭제 되는 것을 볼 수 있다.
[ 외부 링크 ]
> 검색 컬럼 취약점
jinmo123’s blog
http://45.55.68.215:2368/geunubodeu-5-search-column-vulnerability/
> 자동 로그인 인증 우회 취약점
adm1nkyj’s blog
http://blog.adm1nkyj.kr/2017/06/5.html