it-swarm-korea.com

웹 사이트 소유자는 ASP.NET의 Viewstate 및 쿠키를 어떻게 해독합니까?

클라이언트에게 전송하고 싶지 않은 정보에 대해 내 viewstate를 감사하고 싶습니다. 이 정보를 사람이 읽을 수있는 형태로 해독하는 데 필요한 단계는 무엇입니까?

쿠키를 어떻게 해독합니까?

프로세스에 도움이되는 도구 (Firesheep과 유사)가 있습니까?


3
goodguys_activate

@ blowdart가 언급했듯이 , 기본값은보기 상태를 암호화하지 않는 것입니다 (다시 말하지만 최신 버전에서 변경된 것 같습니다).

감사 만 수행하려는 경우보기 상태를 암호화하지 않음 (기본값 또는 수동으로 종료)으로 설정 한 다음 암호를 해독 할 필요가 없습니다. 그런 다음 완료되면보기 상태 암호화를 다시 설정할 수 있습니다.

어쨌든 민감한 정보가 없는지 확인하는 경우 암호화가 필요하지 않을 수 있지만 서명으로 설정하면됩니다.

도구의 경우 다음 중 하나를 시도하십시오 (암호화되지 않은 경우).

나는 또한 스택 오버플로에서 이 질문 을 발견했습니다.

3
AviD

네 가능합니다. 참조 https://stackoverflow.com/questions/22814/how-to-decode-viewstate 거기에 전체 소스 코드를 제공했습니다.

1
Basil

기본값이 아닌 암호화를 설정했다고 가정하면 ASP.NET은 ViewState 및 쿠키를 암호화하고 서명하는 데 사용되는 키로 웹 사이트 컴퓨터 키 를 사용합니다. web.config에서 머신 키 (유효성 검사 및 암호 해독 용)를 알려진 값으로 설정할 수 있으므로 필요한 경우이를 사용하여 수동으로 암호를 해독 할 수 있습니다.

또한 구성을 사용하면 사용되는 알고리즘을 재정의 할 수 있으므로 알려진 시작점을 얻으려면 web.config에서도 설정해야합니다.

기본적으로 PKCS7 패딩이있는 ECB의 3DES이고 viewstate 자체는 기본 64 문자열이므로 base64 문자열을 가져 와서 바이트 배열로 다시 변환 한 다음 3DES 암호 해독기를 통해 데이터를 다시 가져옵니다. .

1
blowdart