리자

[보안패치] 그누보드 4.37.07

4.37.07 (2014.03.24)
: SQL Injection 취약점 해결 (코코파님께서 알려 주셨습니다.)

common.php
lib/common.lib.php

common.php 에서 $sst 변수에 특수문자를 허용하지 않습니다.

$sst = preg_replace("/[\<\>\'\"\%\=\(\)\s]/", "", $sst);

lib/common.lib.php 의 sql_query() 함수에서 union 사용 및 information_schema DB 로의 접근을 허락하지 않습니다.

// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);

첨부파일

gnuboard4.utf8.tgz (1.9 MB) 1710회 2014-03-24 10:12
gnuboard4.euckr.tgz (1.8 MB) 532회 2014-03-24 10:12
|

댓글 17개

감사합니다.
올려주신 첨부파일이 이전버전과 동일한 것 아닌지요?
common.php
lib/common.lib.php
위 두개의 파일이 바꼈습니다.
예 착각했습니다.
감사합니다. 퍼갑니다. ㅋㅋㅋ
감사합니다.
감사합니다.
고맙습니다.
저 내용을 추가를 하면 되는지요?
늘 감사합니다~!
수고하셨습니다.
해당 패치 버그입니다. 회원아이디가 union으로 시작하는 경우 로그인도 안됩니다. 코드수정 바랍니다
lib/common.lib.php 를

function sql_query($sql, $error=TRUE)
{
// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*[^\'\"]union[^\'\"].*#i", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*[^\'\"]`?information_schema`?[^\'\"].*#i", "select 1", $sql);

위와 같이 수정해 주시기 바랍니다.

cheditor가 버전 5.1로 업그레이드 되어 수정중이라 패치된 코드의 배포는 며칠 더 걸릴것 같습니다.
안녕하세요. 관리자님
해당 버전 문제와 상관없지만 어디다 적어야 할지 몰라서 여기다 답변 드리는전 양해 바랍니다.
adm/board_form.php 파일에
1 MB = 1,024,768 bytes 로 적혀있는데 1 MB = 1,048,576 bytes 로 변경하셔야 할 듯 합니다.
화면해상도와 헷갈렸습니다.
일전에 피드백을 받았는데 아직도 안고쳐졌네요. ㅠㅠ
알려주셔서 감사합니다.
감사합니다...^^
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 다운로드

여러분께서 보고 계시는 이 사이트는 그누보드4 최신버전으로 제작, 운영되고 있습니다. SIR은 그누보드를 만들 뿐 프로그램의 설치, 운영방법, 설정문제에 관한 도움을 드리지는 않습니다.

+
제목 글쓴이 날짜 조회
11년 전 조회 6,845
11년 전 조회 5,507
11년 전 조회 5,038
11년 전 조회 1.2만
11년 전 조회 5,841
11년 전 조회 1.4만
11년 전 조회 8,132
11년 전 조회 9,814
11년 전 조회 1.6만
11년 전 조회 1만
11년 전 조회 4,922
11년 전 조회 5,787
11년 전 조회 9,838
11년 전 조회 1.1만
11년 전 조회 3,940
12년 전 조회 7,585
12년 전 조회 5,910
12년 전 조회 9,572
12년 전 조회 1.3만
12년 전 조회 2.5만
🐛 버그신고