리자

그누보드 4.37.27

4.37.27 (2015.05.13)
: 로그인 검사시 Magic Hash 취약점이 발견되어 수정 (빈경윤님께서 알려주셨습니다.)

국내 기사) http://www.boannews.com/media/view.asp?idx=46219&kind=4
취약점 발표) https://blog.whitehatsec.com/magic-hashes/

동작 환경)
비밀번호 해시값이 '0e' + '숫자로만 생성'되었을 경우, 미리 알고 있는 Magic Hash 값을 통해 아무나 로그인할 수 있게 됩니다.
그누보드에서는 mysql 의 password()함수로 hash 하므로,
mysql 4.1 이전 버전이거나 old_password 설정이 활성화된 상태에서만 취약합니다.

해결방법)
아래처럼 비밀번호 비교 구문을 모두 찾아, 동등 연산자(!=)를 일치 연산자(!==)로 변경해주시기만 하면 됩니다.

bbs/login_check.php 의

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {

를

if (!$mb[mb_id] || (sql_password($mb_password) !== $mb[mb_password])) {

로 수정하세요.

첨부파일

gnuboard4.utf8.tgz (1.3 MB) 548회 2015-05-13 11:59
gnuboard4.euckr.tgz (1.3 MB) 241회 2015-05-13 11:59
|

댓글 4개

감사합니다.
감사합니다~
첨부파일에는 login.check.php 파일에만 적용되어 있네요
그 외 수정할 파일 적어봅니다.

/bbs/member_leave.php
=> if (!($_POST[mb_password] && $member[mb_password] === sql_password($_POST[mb_password])))

/bbs/password_check.php (9라인)
/bbs/register_form.php (91라인)
/bbs/write.php (284라인)
/bbs/delete.php (34라인)
/bbs/delete_all.php (56라인)
/bbs/delete_comment.php (43라인)

/adm/board_form_update.php (10라인)
/adm/config_form_update.php (12라인)
/adm/member_form_update.php (12라인)

혹시 빠진게 있으면 댓글 달아주세요~
감사합니다.
감사합니다....^^
댓글을 작성하시려면 로그인이 필요합니다.

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

+
제목 날짜 조회
14-10-22 조회 8,241
12-04-26 조회 4.1만
15-11-30 조회 3.2만
15-10-29 조회 1만
15-09-03 조회 1.1만
15-09-01 조회 7,131
15-08-13 조회 9,299
15-08-12 조회 6,808
15-08-11 조회 9,061
15-07-29 조회 2.1만
15-07-06 조회 8,309
15-06-05 조회 8,474
15-05-27 조회 7,584
15-05-13 조회 8,432
15-03-16 조회 1.3만
15-02-04 조회 1만
15-01-16 조회 9,438
14-12-23 조회 9,935
14-11-13 조회 1.3만
14-08-22 조회 1.3만
14-08-21 조회 1.4만
14-08-20 조회 5,974