2009-08-24 1 views
5

표준 SQL 멤버 자격 공급자를 사용하는 ASP.NET 3.5 웹 사이트가 있습니다.ASP.NET이 외부에서 만든 세션 식별자를 수락하는 이유는 무엇입니까?

프로덕션 환경으로 푸시하기 전에 애플리케이션이 IBM Rational AppScan을 통과해야합니다.
심각도 : 높은
시험 유형 : 응용 프로그램
취약 URL : http://mytestserver/myapp/login.aspx
재조정 작업 : 동의하지 마십시오 외부에서 생성 된 세션 식별자 내가 무엇을 할 수

나는 오류를 얻고있다 이 문제를 해결하려면?

SQL 멤버십 공급자를 사용하고 있습니다. 이게 관련이 있니? 표준 로그인 컨트롤도 사용하고 있습니다. 나는 "Remember Me"를 끄고 숨겨둔다.

감사합니다.

+0

본질적으로 나쁠 수밖에없는 이유가 무엇인지 생각할 수 없습니까? 그들이 그것을 확인한다는 사실을 바꾸지는 못하지만, 왜 * 왜 * 궁금합니다. – Thorarin

답변

8

이것은 취약점이 아닙니다. (사실 AppScan은 거짓 긍휼 때문에 싫어합니다.) es - CSRF 쿠키가 내 작은 오픈 소스 프로젝트의 세션에 연결될 필요가 없다는 것을 설명해야했던 횟수는 짜증이났다.

이 경우 발생하는 모든 것은 세션 상태에 생성 된 세션 식별자가있는 모든 항목이 처음 저장 될 때 서버에 새 세션이 열리지 만 아무것도 남지 않습니다. 세션 고정에 대해 걱정이된다면 인증 후에 쿠키를 지울 수 있습니다.

Session.Abandon(); 
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); 

는하지만 폼 인증과 인증 정보는 세션에서 개최되지 않는 등 고정 전혀 문제가되지 않습니다.

사실 이어야합니다. 결과가 오 탐지가 아닌지 아무도 평가하지 않고 보안 검색을 통과해야한다면 완전히 다른 문제입니다.

+0

감사합니다. 그러나 이것을 시도했지만 IBM Rational AppScan이 동일한 보안 오류를보고했습니다. –

+0

그것은 취약점이 아니며 귀하의 설명이 잘못되었습니다. 너는 틀린 대답을 쓰고 받아 들였다. – blowdart

+0

나는 당신에게 동의하지만, 단지 충분하지 않다고 말하고있다. AppScan 도구가 마음에 들지 않지만, 내가 살고있는 세상입니다. 모든 프로젝트에서 하루 정도 낭비합니다. 그들이 정책을 바꿀 때까지 나는 그것과 함께 살아야한다. –

0

이것은 RegenerateExpiredSessionId 속성이이를 제어하는 ​​것처럼 보입니다. true로 설정하십시오. 또한 시간 제한을 낮게 유지하십시오 (예 : 10-15 분).

+1

감사합니다. 나는 이것을 시도했지만 IBM Rational AppScan이 수초마다 사이트를 친다. 값을 10 분으로 낮추는 것은 도움이되지 않습니다. –

관련 문제