2012-08-16 4 views

답변

5

기존 ASP에는 실제 보안이 없습니다.

  • 따라서 모든 응용 프로그램은 자신의 일
  • 약한 세션 관리가 세션 식별자를 회전하거나 세션 하이재킹을 예방하는 기능과 함께이에게 관련이있다, 어떤 인증 모델이 없습니다. anti-CSRF 지원이 없습니다.
  • 인증 모델이 없으므로 모든 응용 프로그램에 이 있습니다. 즉, 대부분의 클래식 ASP 응용 프로그램에는 프레젠테이션, 비즈니스 논리 및 데이터 모델 계층에서 액세스 제어 문제가 있습니다.
  • 대부분의 입력 유효성 검사가 문자열 교체이므로 입력 유효성 검사가 약합니다.
  • 출력 인코딩 만 server.htmlencode() 및를 urlencode 존재하지만 XSS는 그래서 다른 10 정도의 출력 상황에 대한 다른 방법이 없다 가능성
  • 이용한 이외 SQL 주입을 방지 할 수있는 방법이 없다
  • 스토어드 프로 시저가 있지만 잘못 수행하면 위험 할 수 있습니다.
  • ActiveX 서버 개체를 사용하지 않고 Win32 API를 호출하여 Windows 이벤트 로그를 사용하지 않고 로깅하는 쉬운 방법은 없습니다. 이것은 이며 syslog가 아닌 지역화 된 리소스와 함께 사용하도록 설계 되었기 때문에 쉽지도 간단하지도 않습니다.
  • ASP 내의 보안 구성 은 간단하고 오래된 뿌리를 반영하여 최소입니다. 개를 개선하기 위해 코드 또는 global.asa에서 수행 할 수있는 작업은 거의 없습니다.

ESAPI를 기존 ASP로 이식하려는 노력이있었습니다. 나는 그들이 끝내 었다고 생각하지 않는다. COM 내보내기를 통해 .NET 용 ESAPI를 사용할 수는 있지만 실제로 작동하는 것은 아닙니다.

이 단계에서는 ASP.NET 4.0 이상으로 업그레이드를 조사해야합니다.


감사
안드레 반 데르 재고
OWASP 개발자 가이드 2013 리더 대신 OWASP의

+0

감사합니다. – Khrys

0

, 당신은 닷넷 라이브러리 마이크로 소프트 AntiXSS를 사용할 수 있습니다. 문제는 Classic Asp에서 직접 인스턴스를 생성 할 수 없다는 것입니다. .net dll (COM에서 볼 수 있음)을 만들고 AntiXSS에서 함수를 감싸 야합니다.

다운로드 : 의견을 http://www.microsoft.com/en-us/download/details.aspx?id=28589