1

asp.net에서 나는 양식을 평소와 같이 인증을 사용하여 로그인 우리의 인증 쿠키 값을 복사, 로그 아웃, '편집이 쿠키를 사용하여 클라이언트에 인위적으로 쿠키를 추가 할 수 있어요 'addon for Chrome, (익명) 방문 페이지를 새로 고침하고 다시 로그인했습니다. 이것은 취약점 인 것 같습니다 - 표준 양식 인증을 사용하여 수정하는 방법이 있습니까 아니면 asp.net mvc의 기존 속성을 덮어 쓰는 사용자 지정 권한 부여 특성을 사용하는 것과 같은 작업을해야합니까?폼 인증 쿠키 값 취약점

+0

이렇게하기 전에 web.config에서 쿠키 보호 메커니즘을 활성화 했습니까? –

+0

<양식 보호 = "모두"가 의미하는 바가 있다면 – coalvilledave

+0

그건 쿠키를 훔치는 것입니다! 첫 번째 경우에는 아무도 쿠키를 복사하지 말아야합니다 :) – VJAI

답변

1

쿠키는 항상 불쾌하며 우리는 그다지 할 수 없습니다. 우리가 할 수있는 일은 누군가가 쿠키를 훔치는 것을 막는 것입니다.

ASP.NET MVC와 관련하여 쿠키를 훔치지 않는 것이 좋습니다. 이 보안의 일환으로 기본적으로 수행하는 주요 것들 중 일부는 다음과 같습니다

  1. 인코딩 (당신이 다른 사람에 대해 알고하지 않습니다 면도기를 사용하는 경우)보기로 렌더링되는 문자열이 XSS 공격을 방지 할 수 있습니다.

  2. 요청 유효성 검사 (이제까지 응용 프로그램에 도달 잠재적으로 위험한 데이터를 중지).

  3. JSON 데이터에 대한 GET 액세스를 방지 할 수있다.Microsoft는 HttpOnly 기능을 제공하며,이 자바 스크립트에서 쿠키를 숨기는 데 도움이 쿠키에 관한 Antiforgery 도우미를

사용 CSRF 방지

  • . 당신이 말하고있는 폼 인증은 HttpOnly 쿠키입니다. 누군가가 자바 스크립트를 통해 그것을 훔칠 수는 없으며 더 안전합니다.

  • 0

    당신이 할 수 어떤 쿠키/s의. 특정 도메인의 모든 쿠키를 검사/복사하고 원하는 경우 스푸핑 할 수 있습니다. 귀하의 PC (또는 PC에 로그인 한 사용자)가 (전용) 일 수 있습니다. 분명히 공유 PC를 사용하고 있다면 문제가됩니다 (모든 정보에 걸쳐).

    "쿠키를 복사하는"행위

    은/도용 (일부 웹 사이트 또는 현재 세션) 사용자의 신원을 납치 사실 한 가지 방법 악성 코드 시도입니다. 즉, 일부 멀웨어가 없으면 다른 사람의 "쿠키 만 복사"할 수 없습니다.

    logout이라고 가정하면 사용자에게 브라우저를 닫으라고 요청하여 만료 된 쿠키가 (파일) 시스템에서 제거되도록 할 수 있습니다.

    3

    나는 이것이 버그 그 자체라고 생각하지 않는다. 다음은

    1. 당신은
    2. 서버가 사용자 이름/암호
    3. 유효하면 유효성을 검사하는 서버에 사용자 이름/암호를 입력 폼 인증하는 동안 발생, 서버는 클라이언트와에 암호화 된 인증 티켓 (쿠키)를 보낸다 만료 시간과 이름 (모든 암호화)
    4. 인증을 필요로하는 각 요청에
    5. , 쿠키가 만료 시간을 체크하고, 사용자 이름이 허가되는지 사용하는 서버에서 복호화된다 (Web.config의 설정은 인증 부 형성) (또는 요청 된 자원에 대한 역할을 얻음). 당신이 로그 아웃 할 때
    6. , 쿠키의 유효 시간은 당신은 ... 당신은 당신이 무엇을보고보고있는 이유에 지금, 따라서 과거에 유효한 쿠키

    없는 이상 설정 로그 아웃하기 전에 쿠키를 복사하고 있습니다. 따라서 복사 된 쿠키는 결코 로그 아웃 (이동 된 만료 시간)을 등록하지 않습니다. 다시 연결할 때 유효한 인증 쿠키가 남아 있습니다. 이제 양식 인증 제한 시간을 ... 20 분으로 설정하면 ... 쿠키를 복사하고 그 시간까지 21 분을 기다리면이 방법은 실패합니다. 만료되었습니다.