이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 3317|회답: 2

[출처] ASP.NET MVC가 XSS 위험한 콘텐츠 검증(ValidateInput)을 요청합니다.

[링크 복사]
게시됨 2023. 7. 8. 오후 10:05:07 | | | |
요구사항: 요청 양식에서 잠재적으로 위험한 데이터를 검증하기 위해 MVC ASP.NET 소스 코드를 추출하세요. 간단히 말해, 요청된 데이터가 크로스 사이트 스크립팅(XSS) 내용을 포함하고 있는지 검증합니다.XSS는 MVC에서 기본적으로 차단됩니다

크로스 사이트 스크립팅(XSS)은 일부 웹 애플리케이션에서 발견될 수 있는 보안 취약점입니다. XSS 공격은 공격자가 다른 사용자가 보는 웹페이지에 클라이언트 측 스크립트를 주입할 수 있게 합니다. 공격자는 동일 출처 정책과 같은 접근 제어를 우회하기 위해 사이트 간 스크립팅 취약점을 악용할 수 있습니다.

ValidateInput: 쿠키, 폼, QueryString 속성을 통해 접근한 컬렉션의 검증을 수행합니다. 해야 한다Http요청이 클래스는 Cookies 속성 폼을 통해 QueryString에 접근하는 요청 집합에 대해 검증이 수행되었는지 추적하기 위해 입력 검증 플래그를 사용합니다.

public void ValidateInput() {
            요청마다 여러 번 전화하는 것은 말이 되지 않습니다.
            게다가 검증이 억제되었다면, 지금은 노옵(no-op)입니다.
            만약 (ValidateInputWasCalled || RequestValidationSuppressed) {
                돌아오다;
            }

            _플래그. Set(hasValidateInputBeenCalled);

            이는 일부 XSS(크로스 사이트 스크립팅) 공격(ASURT 122278)을 방지하기 위한 조치입니다
            _플래그. Set(needToValidateQueryString);
            _플래그. Set(needToValidateForm);
            _플래그. Set(needToValidateCookies);
            _플래그. Set(needToValidatePostedFiles);
            _플래그. Set(needToValidateRawUrl);
            _플래그. Set(needToValidatePath);
            _플래그. Set(needToValidatePathInfo);
            _플래그. Set(needToValidateHeaders);
        }

문서조사:하이퍼링크 로그인이 보입니다.

잠재적으로 위험한 데이터 검증:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, 아래 그림에서 볼 수 있습니다:



소스 코드 주소:

하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.

소스 코드를 프로젝트에 복사하고 다음과 같이 테스트하세요:



근원:


정말로 위험한 콘텐츠를 받고 싶다면 Request.Unvalidated.Form을 사용할 수 있습니다

(끝)




이전의:ASP.NET MVC는 모든 인터페이스 주소를 반사를 통해 받습니다
다음:.NET/C#은 데이터베이스 연결을 비교하기 위해 SqlConnectionStringBuilder를 사용합니다
 집주인| 게시됨 2023. 7. 8. 오후 10:06:32 |
AllowHtmlAttribute 클래스: 속성에 대한 검증 요청을 건너뛰어 모델 바인딩 중에 HTML 마크업을 포함할 수 있게 합니다. (스크립팅 공격을 방지하기 위해 요청 검증을 비활성화하는 모든 모델이 명시적으로 점검하는 것이 강력히 권장됩니다.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 집주인| 게시됨 2023. 7. 8. 오후 10:06:49 |
ValidateAntiForgeryToken과 AutoValidateAntiforgeryToken 위조 방지 태그에 대해 자세히 설명합니다
https://www.itsvse.com/thread-9568-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com