2017-01-03 1 views
0

다른 사용자의 세션 정보를 사용할 수 있으며 세션 도용을 할 수 있습니다.drupal에서 세션 도용 7.53

예 : 사용자 'A'로 로그인하고 'A'의 세션 쿠키와 로그 아웃을 저장합니다. 이제 다른 사용자 'B'와 로그인하고 로그인 후에 세션 쿠키를 Burp 도구 또는 브라우저 확장 도구를 사용하여 'A'의 세션 쿠키로 바꿉니다.

이제 'A'와 같은 작업을 수행 할 수 있습니다. 'A'는 이제 로그인 세부 정보없이 로그인됩니다. 이것은 매우 중요한 문제입니다.

또한 확장 파일 (예 : filename.exe.txt)을 두 번 업로드 할 수 있습니다.

답변

1

하지만 세션 하이재킹의 가장 중요한 부분, 즉 다른 세션 쿠키에 어떻게 접근합니까? 쿠키를 대체하여 사이트에 로그인 할 수 있습니다. 결국 그것이 작동하는 방식이며, HTTP와 같은 상태 비 저장 프로토콜에서 상태를 시뮬레이션하는 데 사용됩니다. 이는 예상되는 동작입니다.

여기 실제 문제는 다른 사용자의 세션 쿠키를 사용하여이를 가장 할 수있는 방법입니다. 예를 들어 세션 쿠키가 예측 가능한 알고리즘을 사용하여 생성 된 경우 (즉, 자동으로 증가하는 세션 토큰을 사용하여 이전 쿠키에 1을 추가하는 경우) 세션 쿠키를 얻을 수 있고, 1을 감산하고, 다른 사용자로 인증됩니다.

세션 쿠키를 얻는 또 다른 방법은 XSS 공격입니다. 쿠키가 HTTP로만 표시되지 않으면 자바 스크립트를 통해 쿠키를 가져 와서 서버로 보내면 다른 사용자로 가장 할 수 있습니다.

하지만 세션 쿠키를 다른 브라우저에서 사용하고 자격 증명없이 해당 사용자로 로그인하는 것은 세션 하이재킹이 아니며 의도 한 동작 일뿐입니다.

내가 여기에서 문제가되는 것은 A로 로그 아웃했다가 세션 토큰이 만료되지 않았다고 말한 것입니다. 사용자의 A 쿠키를 계속 사용할 수 있기 때문에 그 외에는 보이지 않습니다. 어떤 문제.

+0

답장을 보내 주셔서 감사합니다. 나는 너에게 동의한다. –

+0

걱정하지 마시고, 우리가 도와 드리겠습니다;) –

+0

지연 응답을 위해 죄송합니다. 그러나 제안에 감사드립니다. 지금은 분명합니다. –