검토 방법 Visual InterDev CSSI 취약점 생성한 코드

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

253120
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
요약
다음 문서에서는 식별하는 방법 및 CSSI (사이트 간 스크립팅 보안 문제에) 취약합니다 올바른 Visual InterDev 응용 프로그램에 대해 설명합니다. 올바르게 유효성이 포맷되어 있거나 유일한 입력을 응용을 프로그램에 공격에 약해집니다.

이 문서에서는 Visual InterDev 디자인 시간 컨트롤 (DTC) 및 스크립트 라이브러리 중점적으로 다룹니다. ASP 코드에 대한 일반적인 지침을 사용하여 기술 자료의 다음 문서를 참조하십시오.
253119검토 ASP 코드 CSSI에 대한 취약점에 대한 방법
추가 정보
일부 코드를 자동으로 생성되므로 Visual InterDev DTC 개발자가 고유한 과제를 제시합니다. 개발자는 특정 구현에 생성된 스크립트 개체 및 모든 취약점을 또는 가장 이를 해결하는 방법을 알고 않을 수 있습니다. 이 문서에서는 다양한 DTC 모든 알려진된 문제 및 이러한 취약점을 해결하기 위한 가능한 옵션에 대해 설명합니다.

문제를 특정 두 가지 범주로 분류됩니다.
  1. 데이터베이스와 데이터베이스 데이터를 표시할 수 스크립팅된 DTC와 사용자 입력이 포함되어 있습니다.
  2. 표시할 스크립팅된 DTC 또는 클라이언트에서 전송된 사용할 데이터.
두 경우 모두 적절한 유효성 검사 및 출력 값의 인코딩을 DTC 기반 페이지에서 CSSI 공격을 사용할 수 없도록 합니다.

정보를 검색하는 DTC의 모든 메서드를 사용할 때 사용자가 제공한 정보를 사용하여 값을 설정할 때 (예: .getCaption, .getText, .Value 해당 DTC에서 결과 문자열을 HTMLEncoded 않습니다. 또한 데이터베이스 필드에 바인딩할 수 있는 일부 DTC 인코딩 없이 데이터베이스의 원시 정보를 표시합니다. 이와 같이 HTMLEncode 이러한 값을 브라우저에 표시할 때 합니다. 예를 들어,:
Response.Write Server.HTMLEncode(Textbox1.value)				
데이터를 URL의 일부로 사용할 수 있는 경우 URLEncode 대신 사용해야 합니다. 예를 들어,:
Response.Write "<A HREF=http://webserver/webapplication/page.asp?data=" & Server.URLEncode(Textbox1.value) & ">Click here!</A>"				
entrusted 스크립팅 코드 문자를 인코딩하는 데 여러 가지 때문에 브라우저에서 페이지를 렌더링하는 것에 대한 문자 명시적으로 설정해야 합니다. 문서의 <head>태그 사이에 있는 클라이언트 쪽 <meta>태그를 삽입하여 이 작업을 수행할 수 있습니다. 예를 들면:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset= ISO-LATIN-1">				
이 또한 ASP에서 Response.Charset 속성을 사용하여 수행할 수 있습니다.

<% Response.Charset= "ISO-LATIN-1" %>				


일반적인 예는 다음과 같습니다.

표시예제 코드
DTC 단추의 값
Response.Write Button1.Value()
CheckBox DTC 캡션
Response.Write CheckBox1.getCaption()
DTC 레이블 캡션
Response.Write Label1.getCaption()
ListBox DTC 텍스트
Response.Write Listbox1.getText()
OptionGroup DTC 값
Response.Write OptionGroup1.getValue()
TextBox DTC 값
Response.Write Textbox1.Value()


이 예제에서는 가능한 해결 방법을 다음과 같습니다.

표시예제 코드
DTC 단추의 값
Response.Write Server.HTMLEncode(Button1.Value())
CheckBox DTC 캡션
Response.Write Server.HTMLEncode(CheckBox1.getCaption())
DTC 레이블 캡션
Response.Write Server.HTMLEncode(Label1.getCaption())
ListBox DTC 텍스트
Response.Write Server.HTMLEncode(Listbox1.getText())
OptionGroup DTC 값
Response.Write Server.HTMLEncode(OptionGroup1.getValue())
TextBox DTC 값
Response.Write Server.HTMLEncode(Textbox1.Value())


눈금 DTC 데이터베이스에서 검색된 HTMLEncode 값을 않습니다. 데이터베이스 사용자 입력 (예: 방명록) 걸리면 출력을 HTMLEncode를 합니다. 클릭하여 수행할 수 있습니다, 모눈 속성 대화 상자의 데이터 탭에서 입력하여:
=Server.HTMLEncode([fieldname])				
어디에 fieldname 해당 열에 대해 표시되는 각 필드의 이름입니다. 대부분의 DTC 자동으로 HTMLEncode 데이터를 데이터베이스에서 표시할 때 검색된; 일부는 그렇지 않습니다. 이러한 컨트롤을 합니다 추가 코드를 사용하여 출력을 클라이언트에 올바르게 HTMLEncoded 확인합니다.

참고: 일반적으로 자동으로 DTC 서버로의 라운드트립 동안 그 상태를 유지 관리하는 데 필요한 논리를 구현합니다. 올바르게 Textbox.asp 스크립트 라이브러리 페이지에서 서버로 tripped 해당 정보가 둥근 경우 텍스트 상자 DTC의 경우 예를 들어, HTMLEncodes 텍스트의 내용을 컨트롤의 상태를 유지 관리하는 과정에서 상자.
참조
자세한 내용은 다음 권고를 에서 해당 컴퓨터 응급 대응 팀 (CERT) Carnegie Mellon 대학 시: 자세한 내용은 다음 기술 자료 문서를 참조하십시오.
252985사이트 간 스크립팅 보안 문제에 대해 웹 응용 프로그램 방지하는 방법
253119CSSI 취약점 검토 ASP 코드 방법
253121CSSI 취약점 검토 MTS/ASP 코드 방법
253117사이트 간 스크립팅 보안 문제 방지 Internet Explorer 및 Outlook Express
kbCSSI

경고: 이 문서는 자동 번역되었습니다

속성

문서 ID: 253120 - 마지막 검토: 02/09/2014 04:20:36 - 수정: 1.4

  • Microsoft Visual InterDev 6.0 Standard Edition
  • kbnosurvey kbarchive kbmt kbcssi kbctrl kbhowto kbsecurity kbsecvulnerability KB253120 KbMtko
피드백