탐구:웹 에 존재 하 는 빈틈 과 원리 분석,예방 방법

사이트 에서 저장 기능 을 제공 하 는 것 은 많은 사이트 에서 자주 기능 이 있 고 상점,포럼 에서 흔히 볼 수 있 는 사이트 입 니 다.흔히 볼 수 있 는 인터넷 에서 우 리 는 특정한 사이트 에 구멍 이 생기 고 특정한 오픈 소스 프로젝트 에 구멍 이 있다 는 것 을 자주 들 었 다.인터넷 에서 부터 동적 프로그램 이 나타 나 유령 처럼 각종 시스템 에 구멍 이 자주 생 긴 다.왜 위 에 있 는 구멍 이 이렇게 자주 발생 합 니까?그리고 일부 시스템 은 반복 적 으로 수리 되 어 여러 번 수리 에 성공 하지 못 했다!사실 주요 문 제 는 상 존 원리 에 나타난다.우선 저장 과정 을 봅 시다.사이트 에 저 장 된 과정 분석

<?php
header("Content-type: text/html; charset=utf-8");
if($_FILES)
{
 echo '<pre>';
 var_dump($_FILES);
 echo '</pre>';
}
?>
<form action="" enctype="multipart/form-data" method="POST">
<input type="file" name="txt" size="50">
<input name="Submit" type="submit" value=" " >
</form>
이상 은 간단 한 테스트 예 입 니 다.우리 가 봅 시다
분석 해 보 겠 습 니 다.name 은 저장 할 때 파일 이름 type 을 선택 하 십시오.type 은 파일 형식 입 니 다.이 형식 은 어디에서 왔 습 니까?허허,여기 가 아주 중요 해.많은 동료 들 이 서버 가 자동 으로 생 성 을 판단 한다 고 생각 할 때 가 많다.그렇게 생각하면 그 럴 수도 있 을 것 같 아 요.php 는 저장 소 를 봉 인 했 습 니 다.라 이브 러 리 를 가지 고 있 으 면 될 것 같 습 니 다.  그러나 거꾸로 생각해 보면 어떤 형식 파일 을 선택 하 든 형식 이 있 을 것 이다.이렇게 생각하면,우 리 는 이 값 도 사용자 가 입력 한 것 으로 추정 할 수 있다.우리 가방 잡 아 보 자.우리 스타일..type 값 도 사용자 입력 값 에서 나 왔 습 니 다.size 는 프로그램 에서 파일 크기 를 계산 합 니 다.이것 은 자동 으로 계 산 됩 니 다.우리 보다 잘 알 잖 아.이렇게 많아틀림없이 친구 가 묻 기 시 작 했 을 것 이다.내 가 위 에서 파일 형식 을 분석 한 것 은 개발 에 빈틈 이 생 긴 것 과 무슨 관련 이 있 느 냐 고.사실,위 에서 말 한 파일 이름 name 속성 과 파일 형식 type 속성 을 생각해 봅 시다.우리 가 파일 을 저장 하고 백 엔 드 를 처리 할 때 자주 사용 할 것 입 니 다.개발 자로 서 이 두 변 수 를 사용 할 때'모든 입력 코드 는 유해 하 다'는 원칙 을 계속 실행 해 야 합 니 다.사용 할 때 다른 get,post 에서 변 수 를 가 져 오 는 것 처럼 처리 해 야 합 니 다.모든 입력 변 수 를 검사 하고 걸 러 냅 니 다.사용자 의 입력 을 특정한 형식 파일 로 제한 하고 이 형식 으로 저장 하 는 기능 이 자주 있 습 니 다.여기까지 분석 하면 다음 에 계속 분석 해 야 할 부분 이 많 습 니 다.오늘 먼저 대강 을 제시 하 겠 습 니 다.다음은 이렇게 흔히 볼 수 있 는 세 가지 구멍 을 분석 할 것 이다.1.사용자 파일 이름 을 사용 하여 파일 을 생 성 합 니 다.특수 문자 필터 가 엄격 하지 않 아 파일 생 성에 구멍 이 생 깁 니 다.2.파일 디 렉 터 리 를 이동 할 때 사용자 가 들 어 온 파일 이름 을 조합 하여 오류 디 렉 터 리 로 생 성 합 니 다.3.사용자 가 type 형식 을 입력 하면 사용자 파일 이름 을 파일 로 저장 합 니 다.

좋은 웹페이지 즐겨찾기