로그인 후, 정보 변경 인증 과정에서요..
안녕하세요. 정보보안을 공부하는 학생입니다.
Freeware인 Gnuboard를 통해 Owasp top 10을 공부 중이였는데, 아직 실력이 미흡해서 궁금증하나가 생겼습니다.
User 로그인을 한 후에 정보변경을 할 때 재 인증을 합니다. CSRF 보안 방안에 재 인증을 통해 보안한다고 알고 있습니다. 그런데 재 인증에서 Paros를 통해 & 값을 Password에 입력해주니 재 인증에 임의의 Password로 인증이 되는 것을 확인하였습니다.
password=wnsod 을 Paros로 password=&wnsod 으로 임의로 바꿔주니 인증이 되었습니다.
이 경우, password에 빈 값이 입력되었다고해서 오류가 떠야 될텐데 인증이 가능하였습니다.
스크린샷을 통해 pdf File로 첨부하였습니다. 정확하게 표현을 어떻게 해야 될지 몰라서요.
여기서 궁금한게 왜 이런 현상이 생기는지 궁금합니다.
프로그램 상에서 잘못 되었는지, 인증과정에서 잘못 되었는지, SQL에서 잘못 되었는지..
가르쳐주시면 감사하겠습니다..
Freeware인 Gnuboard를 통해 Owasp top 10을 공부 중이였는데, 아직 실력이 미흡해서 궁금증하나가 생겼습니다.
User 로그인을 한 후에 정보변경을 할 때 재 인증을 합니다. CSRF 보안 방안에 재 인증을 통해 보안한다고 알고 있습니다. 그런데 재 인증에서 Paros를 통해 & 값을 Password에 입력해주니 재 인증에 임의의 Password로 인증이 되는 것을 확인하였습니다.
password=wnsod 을 Paros로 password=&wnsod 으로 임의로 바꿔주니 인증이 되었습니다.
이 경우, password에 빈 값이 입력되었다고해서 오류가 떠야 될텐데 인증이 가능하였습니다.
스크린샷을 통해 pdf File로 첨부하였습니다. 정확하게 표현을 어떻게 해야 될지 몰라서요.
여기서 궁금한게 왜 이런 현상이 생기는지 궁금합니다.
프로그램 상에서 잘못 되었는지, 인증과정에서 잘못 되었는지, SQL에서 잘못 되었는지..
가르쳐주시면 감사하겠습니다..
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 3개
수정페이지에서 데이터 값을 업데이트 할때 기존 패스워드를 체킹하지 않는것 때문에 발생하는 오류 같아 보입니다.
이건 보드 패치가 필요할꺼 같네요
관리자님께 메시지 날려보내드려야 겠습니다.
잘 배우고 갑니다.
좋은정보 감사합니다.
확인해보니 post로 전송된 열쇠글에 대해서만 체크를 하고
존재하지 않을 시 그냥 넘기고있네요.
if문 블록 다음 행에 추가
if( !$mb_password) alert('패스워드가 틀립니다.');
또는
else if( !$mb_password) alert('패스워드가 틀립니다.');
이유는 이런 것이겠습니다
브라우저에서 입력한 것을 paros가 중간에서 가로챕니다
이 값을 변경해서 보냅니다
(이때 브라우저는 해당 페이지로 이동하지 못하고 잠겨있는 상태죠)
그런데 인증 처리 부분에서 값이 없는 경우의 처리방법이 빠져있습니다
그러다보니 빈값을 넘기면 일사천리로 통과되어버립니다