티스토리 뷰

전체/장난하기

웹 세션 스포일러

Coolen 2008. 5. 7. 13:09
쿠키 기반의 세션 키는 가장 보편적인 웹어플리케이션 프레임웍입니다. 세션이라는 것이 이번 호출과 다음 호출간 문맥을 유지시켜주는 역할을 하는 것이라서 좋은데, 여기에는

쿠키가 노출 될 경우 세션이 하이재킹 될 수 있는

취약점이 있습니다. 가장 잘 알려진 것이 XSS이고, 웹에서의 많은 공격은 XSS를 통해 이루어지는 것임을 알 수 있습니다. 세션 쿠키 유출을 막기위해
  • 네트워크에서는 https 에서만 세션 정보를 이용하게 만든다거나
  • 세션에 IP 정보를 저장해두어 다른 IP에서 올라오는 경우 무시하거나
  • User-agent 정보를 저장해 두어 다른 User agent에서 올라오는 경우 무시하는
등의 방법들을 사용합니다. 마지막 방법의 경우 약간 생소한데, 이런 모든 경우에 대해서 사용자들에게는 정상적이나 어떤 특정 환경에서 세션이 유지되지 않는 경우가 발생하게 됩니다

IP는 자주 변하는 곳이 때에 따라 있습니다. NAT를 이용하는 경우 내부 IP 고갈로 인해 일정 시간 사용하지 않으면 다른 사람에게 IP를 할당하기도 합니다.

User-agent의 경우, 오늘에야 찾아낸 버그(?)인데, I.E에 설치된 DRM 관련 프로그램이 IE와 쿠키를 공유하면서, 동시에 User-agent는 자체 값을 가지고 오는 경우가 있습니다. 또는 플래시가 그러하기도 합니다. 플래시는 웹 개발 영역에 있으므로 제어가 가능하다지만, DRM 관련 프로그램이 다음과 같은 동작을 수행합니다.

http://[HOSTNAME]/MarkAny/Websafer/MaSiteInfo.ini

어찌된일인지 그 프로그램은 내가 들어가는 모든 사이트에서 저 파일을 찾는군요. 도메인이 바뀌기만하면, 저 MaSiteInfo.ini 파일을 가져오려고 시도합니다. 문제는 IE의 Cookie를 그대로 보내오는데, User-agent가 바뀌는 것이 문제입니다. Fiddler로 보니, IE에서 전송되는 것으로 보아 독립된 프로세스는 아니군요. 이렇게 되면, 세션 키에 해당하는 User-agent가 변경되었음을 감지하고, 웹어플리케이션은 세션하이재킹 시도라 판단하여 세션을 종료시킵니다.

혹, 저 프로그램 개발자분이 이 글을 읽으신다면, 왜 모든 사이트에서 저 파일을 가져오기 시도하는지 알려주셨으면 합니다. ;) 꼭, 저 파일을 가져와야 합니까요?
사용자 삽입 이미지


반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함