Try Attack/Web Hacking[basic]

불충분한 세션관리

D4tai1 2019. 9. 20.

 

잠이 오지 않는다면?
평소에 시간이 없어서 못했던 취미활동을 해보세요.

 

음악도 듣고, 영화도 보고, 산책도 하고, 책?도 읽고,

재미있는 드라마도 정주행하고

 

저도 공하는 베짱이라..

공부도 해야하지만..

음악도 듣고, 기타도 치고,

단! 노래부를 땐 혼자 코노도 갑니다.

 

혼자가는 이유는?

제가 못해서,, 도 있지만

주변사람들이 너어어어어어어무

잘해서

그래서

...

 

세상에서 가장 슬픈 세가지

할 수 있었는데

했어야 했는데

해야만 했는데

랍니다..(Louis E. Boone)

 

나중에 하지 말고

여유가 조금 생기면 취미를 가지는 것도 좋은 것 같습니다.

 


 

1. cookie와 session

1) cookie란?

[1] 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터파일 입니다.

[2] 뭐.. 이름, 값, 만료날짜(쿠키 저장기간), 경로 등이 들어있죠.

[3] 자동로그인이나 "오늘 더 이상 이 창을 보지 않음"기능에도 사용하구요.

 

2) session이란?

[그림1] 클라이언트와 서버의 통신과정

[1] Session_ID만 클라이언트 로컬에 저장하고 다른자료는 서버에 저장합니다.

[2] 세션은 서버의 자원을 사용하고 브라우저를 종료하면 클라이언트에서만 지워집니다.

[3] Session_ID는 메모리상에 올라가있고 Cookie는 파일로 남아있어요.

[4] 로그아웃 시 서버와 클라이언트 모두에서 삭제되죠.

 

 

2. 불충분한 세션관리

인증 시 일정한 규칙이 존재하는 세션ID가 발급되거나

세션 타임아웃이 너무 길게 설정된 경우 사용자의 권한이 도용될 수 있다는 말이죠..

 

3) 시연

[영상1] 취약한 세션ID 알고리즘

여러사람과 동시에 풀었을 때

저는 빨리풀지는 못했지만

규칙을 찾고

방탈출카페 얘기가 나온건 비밀..

 

4. 대응방안

세션이 안전하게 관리되도록 설정해야 합니다.

더보기

세션ID는 128비트 이상, 안전한 난수알고리즘 사용,

예측불가하도록, URL노출 금지,

주기적으로 세션ID를 재할당 하도록 설계

 

※ 세션 확인하는 방법

[그림1] 세션확인

ID와 PW를 서버로 전송 시 

서버는 클라이언트에게 세션ID를 주겠죠?

이제부터는 세션ID로만 통신하겠구요.

 

[마우스 우클릭]을 한 후 [검사]를 누릅니다.

그러면 오른쪽과 같이

[Application] - [Cookies]에 보면 

값이 꽤 많이 있습니다.

 

그런데 과연

어떤게 진짜 세션ID인지 알 수 있을까요?

 

세션ID를 지우고 새로고침했을 때 로그아웃이 된다면?

그게 세션ID겠죠?

 

 

'Try Attack > Web Hacking[basic]' 카테고리의 다른 글

WEB 기초  (2) 2020.05.04
Cross Site Script(XSS)  (0) 2019.09.20
command injection  (0) 2019.09.20
Web hacking 이론  (0) 2019.04.27
File Upload  (0) 2018.08.12

댓글