des données: image / png, base64, une question CTF_Web niveau d'entrée sur URI données schéma de?

Une question de CTF_Web au niveau d'entrée sur l'URI de données Scheme

0x00 Titre Description

Tel est le titre du groupe Mouwang Un groupe d'échange de temps en temps droit sans invites, directement à un txtfichier.

image 20200312221315891

processus de résolution de problèmes 0x01

Le nom du fichier, peut généralement deviner et images connexes. Ouvrons le fichier texte et voir ce qu'il ya à l'intérieur.

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAAAoCAIAAAAaOwPZAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQuSURBVHhe7ZptmoMgDIR7rh6o5+lpvEwP01XUGshAokgX+8z+7PKRTF6SoN7e/KMCnSlw68wemkMF3oSSEHSnAKHsLiQ0iFCSge4UIJTdhYQGEUoy0J0ChLK7kNAgQkkGulOAUHYXEhpEKMlAdwpcG8rhcRv/HkN3stIgW4F88DYoX89nObjmANuOc0eMXpHHcyX9+mowhgHKmdlChM0BZzvzet6DSSW7xjEWk8Hu+/O1x7zF1237/Uu4t/O46V6sZuARoZb9KqbO7On4rJlykqcYYnNAjSbx3Gmrj6WTzxirVlA+90F82G+nm4fX3zOxgqyKqRaUU7b8FpRDOeyjJa7k5oByT1yWse4mxfDC3NrrprnQtQeUMuUXoURmCGHdKfl/oTS8MElxu2mudO0BXUCZL8efVGU0EmsQjkGpM2H8y/CwGtW1C3el8ywxhHKWxgOlaPNj0VcRRW+OoiKvCXF0o6YeXWLQDaNQyMf1Clhsi22D9HUNXOBCVZamaBmiO5BxRdRQOt3M3oFUAD4/HDolSChx7AvXzRIJQtgsUfMu6HB+HglNLc5d5KiwpcAqTH7Idk/lvLD9Z0rUx4vYWL2UJ4WY6XbdL91ML57+EjsRNEMnw/LCrKklN9NNkbuLvKsdabjM/ZMByh+PDWuuw6kDEYXPzeSfzGARlNG1M1ENRCfGLlUuJ5MVTg+UyxGzC+1+KN/DkDyuTSVbqo7vNnagfKPTrH9b8pQtgQ/PRCifDTaUJaIWw8adUycklLrcppkyCZfkJ5cYlSZnQTkmsYf58OYAlMpg6JnlhYlC9uxhIdWvbr1NS8Ahc9pgQlkkai3fOorVUK4JGeYTJIgVTm+mnCqrmSfOgDJ0mOlOlhcmClk3M0KmPzeF0mnDGVB6LjqbmKB8p5GRQ34DStRCdpEpp5MRNWRNocwsjk9i7nyqugzPYTWUSZuqe0qVucAT5tgH9ITmxEdCdihjpcCVAgfI8uJ4pgx3K3UhgBeRQ9dtbJmjp1TnYmsKoSH1UGqKE23mxlrsri4yKsuAFnZ5BrAugypw0/IdSvHmxHJbEI6lREzj0asuOc7TR8BONdd9pNKCo4LRNY9CdgCEXjqObDhQvsFpy7z7DsqHP9khxp9DzNeKbSR+Iy3/n31tqVFYe17xFUZkTu507+4px4USFwBRm32lbzFyXphgRMtn3cwqqaef8a0UrMHlaJYM8RC1Iq2DeOXvKUdVjALmzromST8+4N+Egm9rrwzl/DpAVlddnE9su36Jyx6ECtkUxufaUMJOzfwQsxldUbnTLyO/ckCcNsS112yDmkkGF/4xKL8rHndrowChbKMrV61QgFBWiMepbRQglG105aoVChDKCvE4tY0ChLKNrly1QgFCWSEep7ZRgFC20ZWrVihAKCvE49Q2ChDKNrpy1QoF/gDXIhmWmc+CSAAAAABJRU5ErkJggg==

Après ouverture, nous pouvons voir le contenu du format de fichier:

data:image/png;base64,section base64 suivi.

A l'origine base64 vu, il suffit de penser le décryptage. Mais aucune solution de choses. Les spéculations sur le contenu de la précédente, Baidu alors un peu.

Comprenez donc que ceci est tout à fait un morceau de contenu avec un url, nous avons copié dans la barre d'adresse peut être ouvert directement.

image 20200312222358990

Après l'ouverture est une image, affichez sur notre image de drapeau.

image 20200312222511738

connaissances 0x03

données schéma d'URI

Le genre de forme que nous avons vu ci - dessus est le code Data URI Scheme. Alors , quel est - Data URI Schemeil?

Le schéma d'URI de données est un système identifiant de ressource uniforme (URI) qui fournit un moyen d'inclure des données en ligne dans les pages Web comme si elles étaient des ressources extérieures.

Extrait de Wikipedia

schéma d' URI de données (régime URI de données) est un URI système (Uniform Resource Identifier), dans lequel est prévu un joint comprenant une page de données, dans le mode de réalisation, les données comme si elles étaient des ressources extérieures. Il vise à placer les petites données directement intégrées dans les pages Web, de sorte que vous ne devez pas être chargé à partir d' un fichier externe. Souvent utilisé pour mettre des images dans les pages Web.

grammaire

 data:[<media type>][;base64],<data>

dataAu nom du nom du programme, suivi par:

<media type>Dans la partie optionnelle, qui indique le type de support, il peut y avoir un ou plusieurs paramètres, avec les différents paramètres entre ;la cloison. paramètres de format attribute=value. Par exemple, on peut spécifier le jeu de caractères codés charset, les données MIME 类型format de codage ;. Ce format estdata:[<mime type>][;charset=<charset>][;<encoding>],<encoded data>

;base64Font également partie en option. Le cas échéant, les données représentant le contenu d'un URI sont des données binaires, en utilisant le programme Base64 en format ASCII encodage. Depuis système base64 augmenterait le fichier \ (\ frac13 \) ou si, de sorte que le schéma d' URI de données est généralement utilisé pour les petites données.

<data>Représenter les données. Face avant d'une cloison. Même si les données est vide, ce ,ne peut pas être perdu. section de données permet des caractères ASCII, y compris les majuscules et les lettres minuscules, des chiffres, des signes de ponctuation et beaucoup ASCII et des caractères spéciaux. Si les données sont B ase64 codées , les données peuvent contenir le seul caractère valide base64

par exemple

data:text/plain;charset=UTF-8;page=21,the%20data:1234,5678 

(outputs: "the data:1234,5678")

usage

Habituellement, nous utilisons HTML pour insérer une image en général est comme ça,

<img src="mages/image.jpeg">

Si nous utilisons le schéma d'URI des données peut être:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==">

Il fait une requête HTTP pour accéder aux ressources externes, de sorte que cette image est affichée lorsque l'ancien nous ouvrons cette image;

Bien que ce dernier n'est pas une requête HTTP, lire directement à partir du fichier HTML à un document de valeur, lequel affiche.

types pris en charge

data:,                              文本数据
data:text/plain,                    文本数据
data:text/html,                     HTML代码
data:text/html;base64,              base64编码的HTML代码
data:text/css,                      CSS代码
data:text/css;base64,               base64编码的CSS代码
data:text/javascript,               Javascript代码
data:text/javascript;base64,        base64编码的Javascript代码
data:image/gif;base64,              base64编码的gif图片数据
data:image/png;base64,              base64编码的png图片数据
data:image/jpeg;base64,             base64编码的jpeg图片数据
data:image/x-icon;base64,           base64编码的icon图片数据
...

Avantages et inconvénients

excellent
  • Les demandes de ressources peuvent être réduites;

  • Résoudre le problème des ressources externes limitées;

mais
  • Les ressources sont pas mises en cache par le navigateur, tous les accès à réacquérir;
    • Stylesheet peut être placé cssdans le cache avec la feuille de style;
  • Des ressources seront plus grandes que 1/3 de l'original;

0x04 Références

[1] données schéma d' URI

[2] frontal -Data URI Scheme

[. 3] des données de chemin d'accès CSS: image / png; base64 d'utilisation détaillée

Je suppose que tu aimes

Origine www.cnblogs.com/dedragon/p/12483822.html
conseillé
Classement