Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
safe-svg — Libreria semplice e leggera che aiuta a validare i file SVG in modo sicuro. | Kitploit
Strumenti/GitHubGitHub/bgalek/safe-svg
Strumenti DifensiviAnalisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceSicurezza Web
GitHubbgalek/safe-svg

safe-svg

Libreria semplice e leggera che aiuta a validare i file SVG in modo sicuro.

Vedi Repository
489131 giorno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi

SICUREZZA SVG

Libreria semplice e leggera che aiuta a validare i file SVG in termini di sicurezza.

Build Codecov GitHub Release Date Maven Central Libraries.io dependency status for GitHub repo Quality Gate Status

Ti aiuterà a rilevare contenuti malevoli all'interno degli SVG caricati.

Sei consapevole che SVG può causare XSS?

Leggi https://sekurak.pl/pozwalasz-ladowac-pliki-svg-masz-xss-a/ per maggiori dettagli.

Esempio

Prova a caricare questo SVG nella tua applicazione: se passa e l'utente può visualizzare questo file, probabilmente sei vulnerabile a un attacco XSS.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert('Hello, world!');
</script>
</svg>

Utilizzo

Aggiungi la dipendenza della libreria:

implementation "com.github.bgalek.security.svg:safe-svg:1.2.0"

Puoi usare questa libreria per controllare i file SVG caricati

SvgSecurityValidator svgSecurityValidator = SvgSecurityValidator.builder().build();
String svg = "<?xml version=\"1.0\" standalone=\"no\"?>\n" +
                "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
                "<svg version=\"1.1\" baseProfile=\"full\" xmlns=\"http://www.w3.org/2000/svg\">\n" +
                "<polygon id=\"triangle\" points=\"0,0 0,50 50,0\" fill=\"#009900\" stroke=\"#004400\"/>\n" +
                "<script type=\"text/javascript\">\n" +
                "alert('Hello, world!');\n" +
                "</script>\n" +
                "</svg>";
        ValidationResult validation = svgSecurityValidator.validate(svg);
        if (validation.hasViolations()) {
            throw new RuntimeException("this file is suspicious" + validation.getOffendingElements());
        }

Se vuoi consentire altri elementi/attributi (possibilmente non sicuri) usa

ValidationResult detect = SvgSecurityValidator.builder()
    .withAdditionalElements(elements)
    .withAdditionalAttributes(attributes)
    .build()
    .validate(testFile);

Puoi anche abilitare la validazione rigorosa della sintassi XML. L'input viene analizzato con un parser rafforzato contro XXE (le entità esterne e i DTD non vengono mai risolti, l'espansione delle entità è disabilitata), e viene lanciata una InvalidXMLSyntaxException per XML malformato:

ValidationResult detect = SvgSecurityValidator.builder()
    .withSyntaxValidation()
    .build()
    .validate(testFile);

Sono supportati input sia di tipo String che byte[] (byte[] viene decodificato come UTF-8).

Scarica lo strumento