jsessionid 라는게
톰켓에서 jsp를 사용할때 서버에서 발급해주는 토큰 개념으로 알고있는데
로그인했을때 이게 토큰으로 정보가 jsessionid에 쿠키에 담겨있잖아요
이때 a사용자가 로그인하고, f12 관리자도구 쿠키에서 jsessionid의 값을 C663FA500332D3B4B69870D45A3C9567 이런식으로 긁어서
b 사용자한테 건낸다면 b사용자는 로그인 과정을 거치지않고 브라우저 메인에서 jsessionid값을 a사용자 쿠키값으로 넣으면
b사용자가 a사용자의 정보로 로그인되는데
이 과정을 막을려면 어떻게해야할지 잘 모르겠더라구요
로그인 시도시 세션에 ip 담아두고 로그인시도할때 로그인시도한 현재 ip와 세션에담긴 ip 비교해서 틀리면 실패처리를 했는데도
jsessionid 작동 방식을 잘 몰라서그런가 로그인쪽 컨트롤러를 타지도않아서 ip비교도 의미가없는것 같더라구요
저걸 근본적으로 어떻게 막아야할지 모르겠네요
사이트 점검내용중 jsessionid 탈취해서 로그인시도하면 로그인이 된다고 막으라는데 ;;
애초에 https 사용하고있어서 일반적으로는 jsessionid 탈취가 안되거든요... 자기네들이 로그인해서 세션 아이디값 넘긴거면서 흠....
아무튼 어떤식으로 접근해서 jsessionid로 강제 로그인하는것을 막을수있을까요? 혹시 참고할만한 문서나 사이트가있는지 여쭤봐도될까요ㅜㅜ...
9개의 댓글
무분별한 사용은 차단될 수 있습니다.
플로이드와셜
jsp는 잘 모르겠지만 들어오는 모든 요청에 대해 필터써서 ip확인 가능하지 싶은데?
잠들면새벽3시
필터쪽으로 한번 확인해보겠습니다 !!
잠들면새벽3시
감사합니다 ~! 오늘 하루종일 해서 해결하긴했네요
전자정부 프레임워크써서 구조파악하는데 좀 오래걸린거같아요
원체 경력이 없기도해서 ㅎㅎ;; 암튼 필터쪽에다가 모든패스경로로 들어올때
로그인할때 세션에 넣어뒀던 ip랑 기기정보랑 로그인 시도하는사람의 현재 ip 기기정보 비교해서
틀리면 로그아웃처리하니깐 잘 적용되네요 ㅎㅎ 감사합니다 !!
너도나도나도너도
csrf 토큰 적용하면 되지않을까
년째금똥중
저말은 아이디 패스워드 공유해서 로그인막으란 소리아님?ㅋ
베트남외노자
https://twoicefish-secu.tistory.com/186
https://blog.naver.com/tgmuseum/220696910074
참조 해보면 좋을듯함
잠들면새벽3시
첫번째로 올려주신 링크가 굉장히 큰 도움이됐습니다!
생각했었던 내용이랑 비슷하긴했는데 User-Agent 정보까지 추가해서 좀더 깔끔하게 됐던거같아요 감사합니다
베트남외노자
흑기
나도 CSRF 토큰적용해볼것같고 세션 타임아웃도 만들고...
추가적으로는 Secure 쿠키 적용해볼듯?
https://velog.io/@eeeve/HttpOnly%EC%99%80-Secure-Cookie