Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
svg-sanitizer — Bibliothèque Java qui assainit les fichiers SVG en supprimant JavaScript, les gestionnaires d'événements inline et les balises script, tout en bloquant le chargement de ressources externes pour prévenir les XSS. | Kitploit
Outils/GitHubGitHub/borewit/svg-sanitizer
Outils DéfensifsAnalyse StatiqueAnalyse de CodeSécurité WebUtilitaires et Frameworks
GitHubborewit/svg-sanitizer

svg-sanitizer

Bibliothèque Java qui assainit les fichiers SVG en supprimant JavaScript, les gestionnaires d'événements inline et les balises script, tout en bloquant le chargement de ressources externes pour prévenir les XSS.

Voir le dépôt
221il y a 2 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CI Maven Central javadoc

SVG Sanitizer

SVG Sanitizer est une bibliothèque Java conçue pour nettoyer les fichiers SVG en supprimant le JavaScript potentiellement dangereux, en bloquant le chargement de ressources externes et en prévenant les vulnérabilités XSS (Cross-Site Scripting). Elle est utile pour garantir que les fichiers SVG sont sûrs à utiliser dans diverses applications, y compris les environnements web.

Fonctionnalités

  • Supprime le JavaScript des fichiers SVG, y compris les gestionnaires d'événements en ligne et les balises <script>.
  • Bloque le chargement de ressources externes, y compris les attributs href et xlink:href pointant vers des URL externes.
  • Prévient les vulnérabilités XSS en assainissant les éléments et attributs dangereux.
  • Peut être intégrée facilement dans des projets Java en tant que bibliothèque.
  • Peut traiter d'énormes fichiers SVG, car le SVG est assaini de manière streaming

Utilisation

Dépendance Maven

Pour utiliser SVG Sanitizer dans votre projet Java, incluez la dépendance Maven io.github.borewit:svg-sanitizer.

public class SVGSanitizerExample {
  public static void main(String[] args) {
    String dirtySvgContent = """
      <svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 124 124" fill="none">
        <rect width="124" height="124" rx="24" fill="#000000"/>
          <script type="text/javascript">
            alert(0x539);
         </script>
      </svg>""";
    try {
      String sanitizedSvg = SVGSanitizer.sanitize(dirtySvgContent);
      System.out.println(sanitizedSvg);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Ce qui produira le SVG assaini :

<svg xmlns="http://www.w3.org/2000/svg" fill="none" height="400" viewBox="0 0 124 124" width="400">
    <rect fill="#000000" height="124" rx="24" width="124"/>
</svg>

Assainir de InputStream vers OutputStream :

import java.io.*;

public class SVGSanitizerExample {
  public static void main(String[] args) throws Exception {
    File inputFile = new File("unsafe.svg");
    File outputFile = new File("sanitized.svg");

    try (InputStream inputStream = new FileInputStream(inputFile)) {
         try (OutputStream outputStream = new FileOutputStream(outputFile)) {
            SVGSanitizer.sanitize(inputStream, outputStream);
          }
    }

    System.out.println("Sanitized SVG has been saved to " + outputFile.getAbsolutePath());
  }
}

Assainir d'un InputStream vers un InputStream :

import java.io.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;

public class SVGSanitizerExample {
  public static void main(String[] args) throws Exception {
    File inputFile = new File("unsafe.svg"); // Potentially unsafe SVG file

    try (InputStream inputStream = new FileInputStream(inputFile);
         InputStream sanitizedStream = SVGSanitizer.sanitize(inputStream)) {

      // Pass the sanitized stream to an XML parser (without converting it to a String)
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();
      Document doc = builder.parse(sanitizedStream);

      System.out.println("SVG file successfully parsed after sanitization.");
    }
  }
}

Méthodes disponibles

public static String sanitize(String svgContent)

Cette méthode ne doit être utilisée que si le chargement de l'intégralité du SVG en mémoire ne pose pas de problème.

public static void sanitize(InputStream inputStream, OutputStream outputStream)

Écrit le SVG assaini dans le outputStream donné

public static InputStream sanitize(InputStream inputStream)

Agit comme un filtre, renvoyant un nouveau InputStream avec le SVG assaini.

Considérations de sécurité

Les SVG téléversés par les utilisateurs peuvent contenir du contenu malveillant susceptible d'être exécuté dans un contexte de navigateur. L'assainissement des SVG est une étape importante, mais doit être combiné à d'autres mesures pour une protection complète. Voir Bonnes pratiques de sécurité pour les SVG pour un aperçu plus large.

Licence

Ce projet est sous licence MIT License

Télécharger l’outil