Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
svg-sanitizer — Biblioteca Java que sanitiza arquivos SVG removendo JavaScript, manipuladores de eventos inline e tags de script, além de bloquear o carregamento de recursos externos para prevenir XSS. | Kitploit
Ferramentas/GitHubGitHub/borewit/svg-sanitizer
Ferramentas DefensivasAnálise EstáticaAnálise de CódigoSegurança WebUtilitários e Frameworks
GitHubborewit/svg-sanitizer

svg-sanitizer

Biblioteca Java que sanitiza arquivos SVG removendo JavaScript, manipuladores de eventos inline e tags de script, além de bloquear o carregamento de recursos externos para prevenir XSS.

Ver Repositório
221há 2 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CI Maven Central javadoc

SVG Sanitizer

SVG Sanitizer é uma biblioteca Java projetada para limpar arquivos SVG removendo JavaScript potencialmente perigoso, bloqueando o carregamento de recursos externos e prevenindo vulnerabilidades de XSS (Cross-Site Scripting). É útil para garantir que os arquivos SVG sejam seguros para uso em uma variedade de aplicações, incluindo ambientes web.

Recursos

  • Remove JavaScript de arquivos SVG, incluindo manipuladores de eventos inline e tags <script>.
  • Bloqueia o carregamento de recursos externos, incluindo atributos href e xlink:href que apontam para URLs externas.
  • Previne vulnerabilidades de XSS sanitizando elementos e atributos perigosos.
  • Pode ser integrado facilmente em projetos Java como uma biblioteca.
  • Pode lidar com arquivos SVG enormes, pois o SVG é sanitizado de forma streaming

Uso

Dependência Maven

Para usar o SVG Sanitizer em seu projeto Java, inclua a dependência 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();
    }
  }
}

O que produzirá o SVG sanitizado:

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

Sanitize de InputStream para 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());
  }
}

Sanitize de InputStream para 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étodos Disponíveis

public static String sanitize(String svgContent)

Este método só deve ser usado se carregar o SVG inteiro na memória não for um problema.

public static void sanitize(InputStream inputStream, OutputStream outputStream)

Grava o SVG sanitizado no outputStream fornecido

public static InputStream sanitize(InputStream inputStream)

Atua como um filtro, retornando um novo InputStream com o SVG sanitizado.

Considerações de segurança

SVGs enviados por usuários podem conter conteúdo malicioso que pode ser executado em um contexto de navegador. A sanitização de SVGs é uma etapa importante, mas deve ser combinada com outras medidas para proteção completa. Consulte Melhores práticas de segurança para SVG para uma visão geral mais ampla.

Licença

Este projeto está licenciado sob a Licença MIT

Baixar ferramenta