JMK no matter what

XpressEngine sucks

AOJ v2 1차 구현 목록을 전부 끝내고 이제 그간 쓰고 있던 XpressEngine 에서 바닐라2 로 마이그레이션 툴을 짜면서 사용자 비밀번호를 어떻게 마이그레잇해야 하나.. 하면서 XE 구현을 들여다 보니

modules/member/member.model.php: // md5 해쉬된값가 맞으면 return true
modules/member/member.model.php: if($hashed_password == md5($password_text)) return true;

오 쉬발 제발 이게 사실이 아니라고 말해줘. 심지어는 한글 주석 문법도 틀렸어.

하지만 사실이었다. 디비 뒤져보니 내 패스워드가 salt 도 없이!!!!! 깔끔하게 md5() 한번 해서 들어가 있다. 알고스팟이 3년쯤 되었으니 XE 도 3년이 되었다. 아직도 이 모양. 아직도 이걸 쓰고 있었다니. 한숨

바닐라는 당연하게도... md5 로 비밀번호가 저장되어 있으면 (마이그레이션을 예상하고 만든 것 같다) 처음 로그인시에 '핫뜨거라 md5 네' 하고 blowfish 로 바꿔서 다시 저장해 준다. :-(

2010-07-29 12:03:22 | JM | /journal/ | 9 Comments
개멍
2010-07-29 12:22:32
"해쉬가 맞으면" 이라고 썼다가 졸면서 고쳤다는데 한표 ㅋㅋㅋ
근데 암호저장에 2-way 인 blowfish 쓰는건 반댈세
JM
2010-07-29 12:59:37
@개멍, '비밀번호가 맞으면' 이라고 썼다가 나중에 replace 했다는 시나리오는 어떻습니까? ㅎㅎ
blowfish 가 symmetric 이면... 암호화한 패스워드에서 복호화해낼 수 있단 얘긴가요? 설마 그걸 쓰는건 아닐테..죠? -_-;; iteration 수를 많이 올리면 시간이 오래 걸려서 brute-force 어택 막기에 좋다는 말은 예전에 들어본거 같은데..
JM
2010-07-29 13:04:29
@개멍, 아.. 블로피쉬는 크립토그라픽 해쉬가 아니라 인크립션 프로시저군요. 이제 알아들었음. 그럼 대체 이걸로 어떻게 비밀번호를 저장하는거지..
Toivoa
2010-07-29 13:21:31
난 개인적으로 만들어 쓰는거는 sha-512로 plain하게 저장하고 있음 -_-b 뚫으라면 뚫으라지
ecleya
2010-07-29 15:08:35
XE거지같아. 내 블로그도 XE가 말아먹었음.
dg
2010-07-29 15:59:28
http://en.wikipedia.org/wiki/Crypt_(Unix)#Blowfish-based_scheme
이거 아닐까..
JM
2010-07-30 02:00:21
@Toivoa, SHA512 가 plain 한거냐 ㅋㅋㅋㅋㅋ
@ecleya, 어떻게 말아먹었어. ㅋㅋ
@dg, makes sense.
Toivoa
2010-07-30 09:07:02
애초에 서버로 보낼 때 sha-512 한걸 plain text로 보내거든. ssl/tls 안쓰면 접속도 안되게 해놨지만
JM
2010-08-02 01:34:38
@Toivoa, ... ssl 안쓰면 접속도 안되면 대체 어디가 플레인하다는거냐. ㅋㅋㅋ

Leave a comment

春來不似春

About

Eventstream

Pages

Guestbook

Search

Site Admin

Recent Comments