SGCSRelease / legacy-awesome-title

릴리즈의, 릴리즈에 의한, 릴리즈를 위한 별명/업적 관리 사비스
http://title.reluv.me
9 stars 2 forks source link

랜덤 기능에서 발생할 수 있는 보안 취약점 #102

Closed taeguk closed 8 years ago

taeguk commented 8 years ago

현재 회원가입시 id를 뭐로든 가입할 수 있습니다. 즉 만약 아이디를 logout으로 회원가입시, 랜덤기능에서 /logout 로 페이지가 이동되어 강제로 로그아웃이 되는 등의 문제가 발생할 수 있습니다. 현재에는 사이트규모가 작아 크리티컬한 문제는 발생하지 않을 수 있지만 '사용자가 의도하지 않은 페이지를 요청하게 만들 수 있는 취약점' 이므로 잠재적으로 큰 위험이 있습니다

minhoryang commented 8 years ago

오 이거 재밌는데요?ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 원래 URL룰이, Special pages가 먼저 뜨게 되어있는데, /logout이든 /logout/이든요. 이게 그래서 회원가입단에서 Special pages를 안막아도 되겠구나 생각했는데, 반대로 랜덤기능에서는 DB단에서 직접 루프를 돌아버리니까, ㄷㄷㄷ 이런 문제가 발생하네요.

회원가입단에서 Special pages들의 회원가입을 막아버릴까요?

taeguk commented 8 years ago

회원가입단에서 special pages의 회원가입을 막는 것도 방법이 될 순 있지만 이또한 완벽하진 않은게,,, 만약 이미 hello라는 아이디로 가입한 회원이 있는 상태에서 추후 업데이트로 인해 hello라는 special page가 생기게 되면 다시 문제가 발생합니다 ㅠㅠ

taeguk commented 8 years ago

/user/유저이름 같이 하면 보안이나 시스템상으로는 완벽하겠지만 /user를 타이핑해야하는 점이 귀찮아 지구 ㅠㅠㅠㅠ Github는 어떻게 하는지 궁금하네요.

minhoryang commented 8 years ago

Github도 회원가입시 reserved 해놓는 편이에요, twitter도 마찬가지.

taeguk commented 8 years ago

그러면 최대한 나중에 쓸 가능성있는 name들을 많이 미리 reserve해놓고,, 나중에 서비스 업데이트할 때는 그 name들 중에서 고르는 식으로 하면 어떠려나요?

minhoryang commented 8 years ago

음! 그래욧!

jmg7173 commented 8 years ago

헐 이거 원래 안되기로 되어있는거 아니였나요 ㅠㅠ 뭐죠.... 갓태국합시다

jmg7173 commented 8 years ago

아.. 랜덤으로 되어있는건 상관이 없구나.. ㅠㅠㅠㅠ 랜덤상에서 걸러내야하는걸까요

taeguk commented 8 years ago

가끔 자투리시간에 title.reluv.me 취약점 찾는다고 회원가입을 좀 많이 해놨습니다 ㅋㅋㅋㅋㅋㅋㅋ 죄송함돠 ㅠㅠㅠㅜㅜㅜㅜㅜㅜㅠ ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

juice500ml commented 8 years ago

@taeguk 캄사합니당!

minhoryang commented 8 years ago

103에서 해결할 수 있습니다.