문제

나는 표준 표현의 의미를 Google에서 검색했고 완전히 너무 비밀스러운 문서를 찾았습니다.누구든지 표준 표현에 대한 빠른 설명을 제공할 수 있으며 표준 표현 공격에 대한 웹 사이트의 일반적인 취약점은 무엇입니까?

도움이 되었습니까?

해결책

정식화는 파일 이름이나 문자열과 같은 입력을 취하고 표준 표현으로 바꾸는 프로세스입니다.

예를 들어 웹 애플리케이션이 C : Websites Mydomain에 따라 파일에만 액세스 할 수있는 경우 일반적으로 파일 이름을 참조하는 모든 입력은 상대 경로를 사용하는 것이 아니라 물리적, 직접 경로로 정식화됩니다. C : 웹 사이트 mydomain example example.txt 해당 함수에 대한 하나의 입력을 열고 싶다면 example example.txt 일 수 있습니다. 이것이 웹 사이트의 경계를 벗어난 경우 운동하기가 어렵 기 때문에 CanonicalIsation 기능은 응용 프로그램 디렉토리를보고 상대 경로를 물리적 경로로 변경합니다. C : Websites Mydomain exames exames.txt. 파일 경로의 시작 부분에서 문자열 비교를 수행하므로 확인하기가 더 쉽습니다.

HTML 입력의 경우 %20과 같은 입력을 취하고 인코딩을 해제하여 정식화하므로 공간으로 변합니다. 이것은 인코딩의 다른 방법의 수가 많기 때문에 좋은 생각입니다. 정식화는 모든 인코딩 변형을 다루지 않고 디코딩 된 문자열 만 확인할 수 있음을 의미합니다.

기본적으로 당신은 논리적으로 동등한 입력을 취하고 그것들을 표준 형식으로 변환하여 행동 할 수 있습니다.

다른 팁

다음 설명은 "Application Security and Development STIG"에서 가져온 것입니다. 여기:

3.11 정식 표현 정식 표현 문제가 발생합니다. 리소스의 이름을 사용하여 리소스 액세스를 제어합니다.있습니다 여러 표현 방법 컴퓨터 시스템의 리소스 이름입니다.에만 의존하는 응용 프로그램 액세스를 제어하기 위한 리소스 이름은 잘못된 접근 제어 만들기 이름이 에 지정된 경우 결정 인식할 수 없는 형식입니다.

예를 들어 Windows에서는 notepad.exe 일 수 있습니다. 다음 파일로 표현되고 경로 이름 조합:

C:\Windows\System32 otepad.exe

%SystemRoot%\System32 otepad.exe

\?\C:\Windows\System32 otepad.exe

\호스트\c$\Windows\system32 otepad.exe

제한하려는 응용 프로그램 에 의해서만 파일에 대한 액세스 파일 경로 및 이름이 잘못되었을 수 있습니다. 액세스 권한을 부여하거나 거부합니다.같은 문제 의 다른 명명된 리소스에 적용할 수 있습니다. 하드와 같은 시스템 및 소프트 링크, URL, 파이프, 공유, 디렉터리, 장치 이름 또는 데이터 내 파일(대체 인코딩인 경우) 메커니즘은 데이터와 함께 사용됩니다.

이 다음 항목은 가능성을 나타낼 수 있습니다. 의 표준 표현 문제 신청:

• 출입 통제 리소스 이름을 기반으로 한 결정.

• 리소스 이름을 다음으로 줄이지 못함 사용하기 전에 표준 형식.

안으로 표준(canonical)을 최소화하기 위한 순서 의 표현 문제 응용 프로그램에서 다음을 구현합니다. 절차:

• 에만 의존하지 마십시오. 액세스를 제어하기 위한 리소스 이름입니다.

•면 리소스 이름을 사용하여 제어 액세스하고 이름을 확인하여 확인합니다. 적절한 형식입니다.거절하다 알려진 정상 작동에 맞지 않는 모든 이름 기준.

• 운영 체제 기반 사용 다음과 같은 접근 제어 메커니즘 권한 및 ACL.

정식화는 수신 된 데이터를 가장 간단한 형태로 줄이는 것을 의미하며 입력 검증에 사용됩니다.

표준 (제 생각에는)은 콘솔 입력이 "일반적인 동작"이라는 것을 의미합니다. 비정규적인 의미는 입력이 비표준이며 Linux에서 "VI"의 입력 동작과 같은 특별한 지식이 필요하다는 것을 의미합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top