사용자가 로그 오프하고 이전 세션 쿠키 (슬라이딩 시간 창 포함)가 재생되고 사용자 코드로 요청 된 페이지로 코드가 바로 이동하는 경우가 발생합니다. 우리는 서버에서 세션 상태를 유지 관리하지 않습니다. 이 Asp.Net은 인증을 형성합니다.Asp.Net 폼 인증 재생 공격
이 유일한 해결책은 사용자의 로그 상태를 추적하기 위해 서버에 열을 추가하는 것입니다. 진짜 어렵지는 않지만 코드, db 및 배포가 필요합니다.
이 문제를 해결하는 가장 좋은 방법입니까? 어쨌든 우리는 코드를 해독해야하므로 클라이언트 요청 ip 및 기타 내용을 쿠키에 추가 할 수 있습니다. 그러나 현재의 스푸핑은 클라이언트 시스템과 세션을 재사용하는 것입니다.
의견이 있으십니까? 사전에
감사 활동에 대한 확인
bille
자바 스크립트 코드 -> 내가 사용자가/아웃 상태와 활동의 타임 스탬프를 로그인 추적하여이 문제를 해결 결국
$j(document).ready(function() {
/******************************************************************
Auto-logout after the user's session times out
******************************************************************/
var timeOut = (_TIMEOUT - 5) * 60;
var setTimeout = function() {
$j(".session-timeout").stopTime().oneTime(timeOut + "s", function() {
$j(this).show();
$j(this).oneTime("300s", function() {
window.location = $j(this).find("a.logout").attr("href");
});
});
};
$j(".session-timeout a.refresh-session").click(function() {
NextGen.CHS.UtilitiesWebService.RefreshSession(
function() {
$j(".session-timeout").fadeOut();
setTimeout();
},
function() {
}
);
});
setTimeout();
});
사용자가 로그 오프하면 현재 페이지에서 포스트 백이 수행됩니까? 아니면 로그 오프 페이지로 이동합니까? 재생 공격으로, 별도의 컴퓨터에있는 침입자가 동일한 컴퓨터를 공격하고 있다는 것을 알 수 있습니까? –
두 가지 방법이 있습니다. 세션을 무효화하는 ajax 호출로 이어지는 클라이언트 시간 초과. 로그 아웃 버튼을 클릭하면 정기적으로 다시 게시됩니다. – weidson
또한 공격은 동일한 컴퓨터에서 발생합니다 (IP/MAC 스푸핑 가능성이 있음). 로그인 한 사용자가 로그 아웃하고 시스템을 다른 사용자에게 남겨 둡니다. – weidson