Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
fastjson-tp1fn1 — um cenário baseado no CVE-2022-25845 que gera um TP para SCA baseado em metadados, mas um FN se o grafo de chamadas for utilizado | Kitploit
Ferramentas/GitHubGitHub/scabench/fastjson-tp1fn1
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoSegurança da Cadeia de SuprimentosPapers e PesquisaAprendizado e Educação
GitHubscabench/fastjson-tp1fn1

fastjson-tp1fn1

um cenário baseado no CVE-2022-25845 que gera um TP para SCA baseado em metadados, mas um FN se o grafo de chamadas for utilizado

Ver Repositório
3há 2 anosAinda 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

json.org CVE-2022-45688 verdadeiro positivo e falso positivo (WTF ??)

O projeto contém uma dependência fastjson com CVE-2022-25845.

A vulnerabilidade ocorre quando a marcação em JSON é interpretada como Java beans, ou seja, classes são instanciadas e propriedades são definidas executando métodos setter. Isso é feito usando reflexão. Se uma classe estiver no classpath onde os setters podem desencadear comportamentos como executar código (no exemplo, essa classe é Trigger, a entrada respectiva é CVE-2022-25845.json), então isso pode ser explorado.

A parte interessante é o uso de reflexão aqui, como mostrado no stacktrace abaixo da execução do teste incluído usado para demonstrar a vulnerabilidade.

root@kitploit:~
setName:11, Trigger
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect) [2]
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
setValue:167, FieldDeserializer (com.alibaba.fastjson.parser.deserializer)
deserialze:155, ThrowableDeserializer (com.alibaba.fastjson.parser.deserializer)
parseObject:405, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:1430, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:1390, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:181, JSON (com.alibaba.fastjson)
parse:191, JSON (com.alibaba.fastjson)
parse:147, JSON (com.alibaba.fastjson)
main:18, CheckJSON (scabench)
confirmCVE202225845:39, ConfirmVulnerabilitiesTests (scabench)

Ferramentas SCA baseadas em metadados padrão não têm problemas em identificar a vulnerabilidade, isso é "business-as-usual". No entanto, ferramentas baseadas em grafo de chamadas provavelmente a perderão, pois as construções de grafo de chamadas geralmente falham em modelar chamadas reflexivas. Nesse sentido, isso é tanto um verdadeiro positivo quanto um falso negativo, dependendo das análises utilizadas.

Observe que há um teste de prova de vulnerabilidade para demonstrar a vulnerabilidade; esse teste (e portanto a compilação com mvn test) falha. Veja https://github.com/scabench/jsonorg-tp1 para saber como o teste funciona.

Executando Análises de Composição de Software

Existem vários scripts sh para executar diferentes análises; os relatórios de resultados podem ser encontrados em scan-results.

Gerando o SBOM

O pom.xml possui um plugin para gerar um SBOM no formato CycloneDX. Para fazer isso, execute mvn cyclonedx:makePackageBom; o SBOM pode ser encontrado em target/ nos formatos json e xml.

Baixar ferramenta