2017-05-09 7 views
0

출석 제출 페이지 인 웹 응용 프로그램을 테스트하고 있습니다. 이 기능은 두 명의 사용자가 동일한 학생 출석을 업데이트 한 경우 변경 사항에 대한 경고를 최신 변경 사항과 함께 표시해야한다는 것입니다.웹 응용 프로그램에서 뷰 상태 데이터를 조작하는 방법은 무엇입니까?

개발자는 아직 뷰 상태에 저장되지 않은 텍스트 상자에 입력 한 값을 저장하는 것처럼 일부 논리를 구현했습니다. 뷰 상태, 현재 데이터 및 데이터베이스 데이터의 값을 비교하고 최신 데이터를 표시합니다. 변화.

테스트의 일환으로 개발자가 뷰 상태에 저장하는 데이터를 수정/해킹 할 수 있도록 알고 싶습니다.

답변

0

자바 스크립트를 사용하여 할 수는 없지만 JavaScript를 통해 숨겨진 필드 "__ViewState"에 액세스 할 수 있지만 모두 암호화되어 있습니다. 암호화 된 값만 볼 수 있습니다.

자바 스크립트를 통해 변경하더라도 서버 측은 데이터가 변조되었는지 확인합니다.

아래 코드를 사용하여 해독하고 viewstate를 볼 수 있습니다. More Info

string str = System.Text.Encoding.ASCII.GetString(Convert.FromBase64Strin‌​g(txtViewState.Text)‌​); 

를 암호화되지 그러나 viewstate가를 조작하는 것은 매우 불가능하다으로 EnableViewStateMac 속성은 ASP.NET More Info

+0

을 기본적으로 true을하기 때문에 이것은 내가 어떤 옵션이없는 것을 의미 viewstate가 설정해야 작동하려면 이 데이터를 바로 잡으십시오. – Tester

+0

데이터를 해독하고 볼 수 있습니다. [추가 정보] (http://stackoverflow.com/questions/2638671/is-it-possible-to-decrypt-and-view-viewstate-values) . 그러나 서버 쪽 설정이 더 엄격하면 조작을 할 수 없습니다. [추가 정보] (http://stackoverflow.com/questions/5728106/how-to-detect-viewstate-is-tamper-or-not-programatically)이 답변을 귀하의 질문에 대한 답변을 표시하십시오 –