그누보드 5.2.8 취약점 패치 내용 분석

그누보드 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 필터를 위회해 파일을 삭제하기 위해 정상적인 파일을 올려 파일 이름을 구한다.

파일 검사 필터링 우회해 dbconfig.php 파일 삭제 파라미터 전송

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

글의 문제가 있다면 댓글을 달아 주세요.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.