Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
svg-sanitizer — Java-Bibliothek, die SVG-Dateien bereinigt, indem sie JavaScript, Inline-Event-Handler und Script-Tags entfernt und gleichzeitig das Laden externer Ressourcen blockiert, um XSS zu verhindern. | Kitploit
Tools/GitHubGitHub/borewit/svg-sanitizer
DefensivwerkzeugeStatische AnalyseCode-AnalyseWebsicherheitDienstprogramme & Frameworks
GitHubborewit/svg-sanitizer

svg-sanitizer

Java-Bibliothek, die SVG-Dateien bereinigt, indem sie JavaScript, Inline-Event-Handler und Script-Tags entfernt und gleichzeitig das Laden externer Ressourcen blockiert, um XSS zu verhindern.

Repository anzeigen
217vor 2 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CI Maven Central javadoc

SVG Sanitizer

SVG Sanitizer ist eine Java-Bibliothek, die dazu dient, SVG-Dateien zu bereinigen, indem sie potenziell gefährliches JavaScript entfernt, das Laden externer Ressourcen blockiert und XSS-Schwachstellen (Cross-Site Scripting) verhindert. Sie ist nützlich, um sicherzustellen, dass SVG- Dateien in einer Vielzahl von Anwendungen, einschließlich Webumgebungen, sicher verwendet werden können.

Funktionen

  • Entfernt JavaScript aus SVG-Dateien, einschließlich Inline-Event-Handlern und <script>-Tags.
  • Blockiert das Laden externer Ressourcen, einschließlich href- und xlink:href-Attributen, die auf externe URLs verweisen.
  • Verhindert XSS-Schwachstellen durch Bereinigung gefährlicher Elemente und Attribute.
  • Kann einfach als Bibliothek in Java-Projekte integriert werden.
  • Kann riesige SVG-Dateien verarbeiten, da das SVG streaming-basiert bereinigt wird

Verwendung

Maven-Abhängigkeit

Um den SVG Sanitizer in Ihrem Java-Projekt zu verwenden, binden Sie die io.github.borewit:svg-sanitizer Maven-Abhängigkeit ein.

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();
    }
  }
}

Was das bereinigte SVG ausgibt:

<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>

Bereinigen von InputStream nach 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());
  }
}

Bereinigen von InputStream zu 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.");
    }
  }
}

Verfügbare Methoden

public static String sanitize(String svgContent)

Diese Methode sollte nur verwendet werden, wenn das Laden der gesamten SVG in den Speicher kein Problem darstellt.

public static void sanitize(InputStream inputStream, OutputStream outputStream)

Schreibt das bereinigte SVG in den angegebenen outputStream

public static InputStream sanitize(InputStream inputStream)

Wirkt als Filter und gibt einen neuen InputStream mit dem bereinigten SVG zurück.

Sicherheitsüberlegungen

Von Benutzern hochgeladene SVGs können schädliche Inhalte enthalten, die im Browser-Kontext ausgeführt werden können. Das Bereinigen von SVGs ist ein wichtiger Schritt, sollte jedoch mit anderen Maßnahmen für vollständigen Schutz kombiniert werden. Siehe SVG security best practices für einen breiteren Überblick.

Lizenz

Dieses Projekt ist unter der MIT License lizenziert.

Tool herunterladen