2011-01-19 1 views

답변

1

나는 문제가 사람이 할 수 있다고 생각 강화 전달할 수 있도록 위의 코드를 수정하는 데 도움이 필요하십니까 위의 샘플 코드 쇼 '경로 조작' 높은 문제에 대한 검사 보고서를 요새화 분명히 보안 결함 인 reportName = "..\\Windows\\Something important"으로 요청을 위장하십시오. 요청 쿼리 문자열에서 부분 파일 이름을 읽지 않도록 코드를 변경해야합니다.

+0

위의 코드에 필요한 변경 사항을 제공 할 수 있습니까? – user517206

+0

자세한 정보가 없습니다. 이 웹 페이지로 무엇을하려합니까? –

+0

샘플 웹 페이지입니다. 이 Q에서 제공 한 예제는 샘플입니다. 만약 내가 내 ans을 누른 다음 다른 응용 프로그램에서 내 문제를 해결하기 위해 동일한 논리를 사용할 수 있습니다. – user517206

5

Jackson이 맞습니다. 이것은 간접 선택을 통해 수정할 수있는 직접 파일 경로 조작 취약점입니다. 알려진 디렉토리에서 모든 파일을 나열하십시오. 사용자가 제공 한 값이 아니라 사용자 자신의 디렉토리 목록에서 오는 값을 사용하십시오.

String rName = Request.QueryString["reportName"]; 
String knownPath = "C:\\hari"; 
DirectoryInfo di = new DirectoryInfo(knownPath); 
FileInfo[] files = di.GetFiles(rName); 

if (files.length > 0) 
{ 
    files[0].Delete(); 
} 
관련 문제