Applies ToSystem Center 2016 Operations Manager

문제 설명

입력 유효성 검사 및 출력 인코딩이 누락되면 JavaScript를 삽입할 수 있으므로 리플렉션된 XSS(교차 사이트 스크립팅)가 발생합니다.

리플렉션된 교차 사이트 스크립팅은 Microsoft System Center 2016 인증 페이지에 임의의 JavaScript를 삽입하는 데 사용할 수 있습니다. 아래의 GET 요청을 가로채서 SpaceID를 수정하여 웹 콘솔의 왼쪽 탐색 창에 임의의 문자열을 삽입할 수 있습니다.

GET/OperationsManager/InternalPages/NavigationTree.aspx?SpaceId=1002&ViewId=Favorites_Overview HTTP/1.1

다음은 임의의 문자열의 예입니다.

abc%3E%3C","00000000-0000-0000-0000-000000000000");alert(1);//%3E

악의적인 JavaScript는 일단 삽입이 되면 페이지의 현재 동작을 수정하고 트로이 목마, 강제 악성 리디렉션, 콘텐츠 스푸핑, Keylogger, 콘텐츠 유출, VIEWSTATE 및 유효성 검사기의 토큰 유출(CSRF 방지 제어 무력화) 등을 유발합니다.

공격은 다음 단계로 구성됩니다.

  1. 공격자는 XSS 페이로드를 사용하여 System Center의 인증된 특정 GET 요청을 만들고, 피해자가 특수 URL에 액세스하도록 속이거나, 사용자가 특정 요청을 트리거하는 피싱 사기에 액세스하도록 속입니다.

  2. 인증된 피해자가 홈페이지를 로드/다시 로드합니다.

참고: 공격은 모든 viewID 값 및 SpaceID 쿼리 문자열 매개 변수가 있는 모든 요청에 적용할 수 있습니다.

테스트 사례

예상 결과: 유효하지 않은 SpaceID 오류 또는 빈 창 및 임의의 JavaScript의 실행 없음

결과: 임의 JavaScript가 실행되었습니다.

해결 방법

엄격한 입력 유효성 검사를 구현합니다. 정수만 SpaceID로 허용되므로 입력에 대한 데이터 형식 검사는 취약점을 해결하는 데 충분합니다.

SpaceID가 지원되는 값(1001 및 1002)인지 확인하기 위해 검사를 추가했습니다. 그렇지 않으면 트리 데이터가 비어 있습니다.

참조

CVE-2020-1331의 보안 지침 공지를 참조하세요.

보안 분류

리플렉션된 교차 사이트 스크립팅, 콘텐츠 스푸핑

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.