본문 바로가기

Security/Hacking & Security

[보안 해킹] 홈페이지 개발 보안 - 파일 다운로드

[보안 해킹] 홈페이지 개발 보안 - 파일 다운로드



■ 취약점 설명

    - 외부 입력 값에 대해 경로 조작에 사용될 수 있는 문자를 필터링 하지 않으면, 예상 밖의 접근 제한 영역에 대한 경로 문자열 구성이 가능해져 시스템 정보 등 중요정보가 누출이 되는 취약점


■ 보안대책

    ⑴ 파일경로와 이름을 생성할 때 외부 입력 값을 사용하는 경우, 정해진 경로 이외의 디렉토리와 파일에 접근할 수 없도록 처리

    ⑵ 외부 입력 값에 대해 replaceAll()등의 Method를 사용하여 예상 밖의 경로로의 접근을 허용하는 위험 문자열( *, /, \, ..)을 제거하는 필터링 적용


■ 코드예제

    - 외부의 입력(name)이 삭제할 파일의 경로설정에 사용되고 있는 코드로, 공격자에 의해 name의 값으로 ../../..rootFile.txt와 같은 값을 전달하면 의도하지 않았던 파일이 삭제될 수 있는 코드



    - 입력되는 값에 대하여 Null여부를 체크하고, 외부에서 입력되는 파일 이름(name)에서 상대경로(/, \\, &, .. 등 특수문자)를 설정할 수 없도록 replaceAll을 이용하여 특수문자가 제거 될 수 있도록 코딩






※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기