보기 상태란?
보기 상태는 ASP.NET 응용 프로그램에서 WebForms(.aspx) 페이지 간에 왕복되는 정보입니다. __VIEWSTATE 필드의 HTML 태그는 다음과 비슷합니다.
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="..." />
__VIEWSTATE 필드에 저장될 수 있는 항목의 예 하나는 단추 컨트롤의 텍스트입니다. 사용자가 단추를 클릭하면 Button_Click 이벤트 처리기가 보기 상태 필드에서 단추의 텍스트를 추출할 수 있습니다. ASP.NET 보기 상태에 대한 훨씬 더 자세한 개요는 MSDN(Microsoft Developer Network) 웹 사이트의 ASP.NET 보기 상태 개요 항목을 참조하십시오.
__VIEWSTATE 필드에는 포스트백의 페이지를 다시 구성하는 데 사용되는 중요 정보가 포함되어 있으므로, 공격자가 이 필드를 변조할 수 없는지 확인하십시오. 공격자가 악성 __VIEWSTATE 페이로드를 제출한 경우 이 공격자는 잠재적으로 응용 프로그램이 그렇지 않으면 수행하지 않을 작업을 수행하도록 속일 수 있습니다.
이러한 유형의 변조 공격을 방지하기 위해 __VIEWSTATE 필드가 MAC(메시지 인증 코드)에 의해 보호됩니다. ASP.NET은 포스트백 발생 시 __VIEWSTATE 페이로드와 함께 제출되는 MAC의 유효성을 검사합니다. MAC을 계산하는 데 사용되는 키는 Web.config 파일에서 응용 프로그램의