리자

그누보드 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) 547회 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 다운로드

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

+
제목 글쓴이 날짜 조회
10년 전 조회 1.1만
10년 전 조회 6,794
10년 전 조회 8,958
10년 전 조회 6,529
10년 전 조회 8,792
10년 전 조회 2만
10년 전 조회 8,013
10년 전 조회 8,165
10년 전 조회 7,292
10년 전 조회 8,096
10년 전 조회 1.3만
11년 전 조회 1만
11년 전 조회 9,120
11년 전 조회 9,625
11년 전 조회 1.3만
11년 전 조회 1.3만
11년 전 조회 1.3만
11년 전 조회 5,641
11년 전 조회 4,916
11년 전 조회 1만