탐구:웹 에 존재 하 는 빈틈 과 원리 분석,예방 방법
2222 단어 위 에 빈틈 이 있다.원리 분석방비 방법
<?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 형식 을 입력 하면 사용자 파일 이름 을 파일 로 저장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring MVC 차단기 설정 및 원리 분석첫 번 째 단 계 를 조정 하여 시간 이 비교적 긴 페이지 를 찾 아 최적화 하 다.interceptor 를 이용 하면 쉽게 해결 할 수 있 습 니 다.interceptor 는 preHandle 과 post Hand...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.