Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
QLinspector — Trovare catene di gadget Java/C# con CodeQL | Kitploit
Strumenti/GitHubGitHub/synacktiv/qlinspector
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceExploitSviluppo Payload
GitHubsynacktiv/qlinspector

QLinspector

Trovare catene di gadget Java/C# con CodeQL

Vedi Repository
1882212 mesi 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 →
Condividi

QLinspector

Trovare catene di gadget Java/C# con CodeQL. Maggiori informazioni nel nostro articolo

Installazione

Clona il repository

root@kitploit:~
$ git clone https://github.com/synacktiv/QLinspector.git

Cerca gadget:

root@kitploit:~
$ codeql database analyze log4j --format=sarif-latest --output=log4j.sarif --search-path=./QLinspector/ synacktiv/qlinspector-java-queries

Query

QLinspector.ql

La query CodeQL principale che può essere utilizzata per trovare catene di gadget.

Ecco un esempio con la catena di gadget Aspectj:

aspectj

L'esecuzione della query precedente può talvolta restituire molti falsi positivi. Per filtrarli è stata aggiunta la classe GadgetSanitizer. Puoi aggiungere condizioni per escludere :

Scarica lo strumento
DataFlow::Node
root@kitploit:~
/**
 * placeholder for adding sanitizing steps
*/
class GadgetSanitizer extends DataFlow::Node {
  GadgetSanitizer() {
    this.getEnclosingCallable().hasName("")
  }
}

QLinspectorOld.ql

Vecchia query sviluppata inizialmente. Questa query non utilizza il modello di taint di CodeQL, quindi potrebbe restituire risultati differenti.

BeanFactoryGadgetFinder.ql

Una query che può essere utilizzata per trovare nuove catene di gadget basate su org.apache.naming.factory.BeanFactory. La classe BeanFactory consente di creare un'istanza di una classe arbitraria con costruttore predefinito e chiamare qualsiasi metodo pubblico con un parametro String.

Maggiori informazioni in questo post del blog: https://www.veracode.com/blog/research/exploiting-jndi-injections-java

CommonsBeanutilsGadgetFinder.ql

Una query che può essere utilizzata per trovare alternative al metodo getOutputProperties usato nella catena CommonsBeanutils.

Maggiori informazioni qui:

  • https://www.praetorian.com/blog/relution-remote-code-execution-java-deserialization-vulnerability/
  • https://mogwailabs.de/en/blog/2023/04/look-mama-no-templatesimpl/

ObjectFactoryFinder.ql

Una query che può essere utilizzata per trovare alternative a org.apache.naming.factory.BeanFactory. Questo potrebbe essere utile durante lo sfruttamento di JNDI.

Maggiori informazioni in questo post del blog: https://www.veracode.com/blog/research/exploiting-jndi-injections-java

Risorse

  • https://www.synacktiv.com/publications/finding-gadgets-like-its-2015-part-1.html
  • https://www.synacktiv.com/publications/finding-gadgets-like-its-2015-part-2.html
  • https://www.synacktiv.com/publications/finding-gadgets-like-its-2022.html
  • https://www.synacktiv.com/publications/java-deserialization-tricks
  • https://www.praetorian.com/blog/relution-remote-code-execution-java-deserialization-vulnerability/
  • https://www.veracode.com/blog/research/exploiting-jndi-injections-java
  • https://mogwailabs.de/en/blog/2023/04/look-mama-no-templatesimpl/
  • https://testbnull.medium.com/return-of-the-rhino-analysis-of-mozillarhino-gadgetchain-also-the-writeup-of-hitb-linkextractor-a2074b4ae624
  • https://www.buaq.net/go-53869.html
  • https://b1ue.cn/archives/529.html