inclusión de archivos locales php e inclusión de archivos remotos

Etapa temprana

phpstudy(php + mysql + apache)

objetivo

Cuando los programadores escriben programas, a menudo escriben algunos códigos que deben reutilizarse en un archivo separado. Cuando estos códigos deben llamarse, los archivos de códigos de llamada se incluyen en otros archivos, lo que puede mejorar la eficiencia de la programación.

Incluir función

Incluya la función de llamada en php:

include()require()include_oncerequire_once()

Función

incluir función: si el archivo no existe, reportar un error, continuar con la ejecución

1.php
<?php
echo '开始';
include '2.php';
echo '结束';
?>

2.php
<?php
echo '文件包含';
?>

Inserte la descripción de la imagen aquí

1.php
<?php
echo '开始';
include '3.php';
echo '结束';
?>

3.php不存在

Inserte la descripción de la imagen aquí
Requiere función: si el archivo no existe, reportar un error, no ejecutar

1.php
<?php
echo '开始';
require '2.php';
echo '结束';
?>

2.php
<?php
echo '文件包含';
?>

Inserte la descripción de la imagen aquí

1.php
<?php
echo '开始';
require '3.php';
echo '结束';
?>

3.php不存在

Inserte la descripción de la imagen aquí
Los otros dos son los mismos que los anteriores, pero solo se pueden incluir una vez

Tipos de

Cuando se utiliza la función de inclusión de archivos, el archivo especificado puede ser un archivo local, o se puede especificar un archivo de conexión URL remota. El primero incluye archivos locales y el segundo incluye archivos remotos.
Local (LFI)
Remoto (RFI)

El archivo local contiene

index.php
<?php
echo "Hello World";
?>

1.php
<?php
if(@$_GET['page']){
    
    
	include $_GET['page'];
}else{
    
    
include 'index.php';
}
?>

2.php
<?php
echo '文件包含';
?>

Determine si la página en el parámetro GET tiene un valor, si hay un valor, incluya el valor, si no, incluya index.php

http://127.0.0.1/1.php

Inserte la descripción de la imagen aquí

http://127.0.0.1/1.php?page=2.php

Inserte la descripción de la imagen aquí

Inclusión de archivos remotos

La función allow_url_fopen se activa en el archivo de configuración php predeterminado, y los programadores pueden especificar los archivos que se incluirán en forma de enlaces URL para llamadas de inclusión de archivos remotos.

需要说明的是,进行RFI攻击需要同时具备三个条件:

1.allow_url_fopen = On    (默认开启)
2.allow_url_include = On  (默认关闭)
3.被包含的变量前没有目录的限制

Generalmente establece 1 y 2 en php.ini

http://127.0.0.1/1.php?page=http://127.0.0.1/2.php

Inserte la descripción de la imagen aquí

Usar

Leer archivo

http://127.0.0.1/1.php?page=E:\1\1.txt

Inserte la descripción de la imagen aquí

Caballo de imagen

http://127.0.0.1/1.php?page=1.png

Inserte la descripción de la imagen aquí

epílogo

El archivo de auditoría de código contiene estas cuatro funciones que se pueden buscar.

Preste atención a la cuenta pública de la seguridad del aprendizaje de Xiaobai y a varios libros en formato PDF.

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/p_utao/article/details/109861043
Recomendado
Clasificación