inclusion de fichiers locaux php et inclusion de fichiers distants

Stade précoce

phpstudy(php + mysql + apache)

but

Lorsque les programmeurs écrivent des programmes, ils écrivent souvent des codes qui doivent être réutilisés dans un fichier séparé. Lorsque ces codes doivent être appelés, les fichiers de code d'appel sont inclus dans d'autres fichiers, ce qui peut améliorer l'efficacité de la programmation.

Inclure la fonction

Incluez la fonction d'appel dans php:

include()require()include_oncerequire_once()

Fonction

fonction d'inclusion: si le fichier n'existe pas, signaler une erreur, poursuivre l'exécution

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

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

Insérez la description de l'image ici

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

3.php不存在

Insérez la description de l'image ici
fonction requise: si le fichier n'existe pas, signaler une erreur, ne pas exécuter

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

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

Insérez la description de l'image ici

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

3.php不存在

Insérez la description de l'image ici
Les deux autres sont les mêmes que ci-dessus, mais ne peuvent être inclus qu'une seule fois

Types de

Lors de l'utilisation de la fonction d'inclusion de fichier, le fichier spécifié peut être un fichier local ou un fichier de connexion URL distant peut être spécifié. Le premier comprend les fichiers locaux et le second les fichiers distants.
Local (LFI) à
distance (RFI)

Le fichier local contient

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

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

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

Déterminez si la page dans le paramètre GET a une valeur, s'il y a une valeur, incluez la valeur, sinon, incluez index.php

http://127.0.0.1/1.php

Insérez la description de l'image ici

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

Insérez la description de l'image ici

Inclusion de fichiers à distance

La fonction allow_url_fopen est activée dans le fichier de configuration php par défaut, et les programmeurs peuvent spécifier les fichiers à inclure sous la forme de liens URL pour les appels d'inclusion de fichiers distants.

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

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

Définis généralement 1 et 2 dans php.ini

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

Insérez la description de l'image ici

Utilisation

Lire le fichier

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

Insérez la description de l'image ici

Cheval photo

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

Insérez la description de l'image ici

épilogue

Le fichier d'audit de code contient ces quatre fonctions qui peuvent être recherchées.

Faites attention au compte rendu public de la sécurité d'apprentissage de Xiaobai et aux divers livres PDF.

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/p_utao/article/details/109861043
conseillé
Classement