Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
QLinspector — Finding Java/C# gadget chains with CodeQL | Kitploit
Tools/GitHubGitHub/synacktiv/qlinspector
Static AnalysisVulnerability AnalysisCode AnalysisExploitationPayload Development
GitHubsynacktiv/qlinspector

QLinspector

Finding Java/C# gadget chains with CodeQL

Repository anzeigen
18822vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

QLinspector

Finden von Java/C#-Gadget-Chains mit CodeQL. Weitere Informationen in unserem Artikel

Installation

Repository klonen

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

Nach Gadgets suchen:

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

Abfragen

QLinspector.ql

Die Haupt-CodeQL-Query, mit der Gadget-Chains gefunden werden können.

Hier ist ein Beispiel mit der Aspectj-Gadget-Chain:

aspectj

Die Ausführung der obigen Query kann manchmal viele False Positives zurückgeben. Um diese herauszufiltern, wurde die Klasse GadgetSanitizer hinzugefügt. Sie können Bedingungen hinzufügen, um DataFlow::Node herauszufiltern:

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

QLinspectorOld.ql

Alte Query, die ursprünglich entwickelt wurde. Diese Query verwendet das Taint-Modell von CodeQL nicht und kann daher andere Ergebnisse liefern.

BeanFactoryGadgetFinder.ql

Eine Query, mit der neue Gadget-Chains auf Basis von org.apache.naming.factory.BeanFactory gefunden werden können. Die Klasse BeanFactory ermöglicht es, eine Instanz einer beliebigen Klasse mit Standardkonstruktor zu erstellen und jede öffentliche Methode mit einem String-Parameter aufzurufen.

Weitere Informationen in diesem Blogpost: https://www.veracode.com/blog/research/exploiting-jndi-injections-java

CommonsBeanutilsGadgetFinder.ql

Eine Query, mit der Alternativen zur Methode getOutputProperties gefunden werden können, die in der CommonsBeanutils-Chain verwendet wird.

Weitere Informationen hier:

  • 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

Eine Query, mit der Alternativen zu org.apache.naming.factory.BeanFactory gefunden werden können. Dies könnte bei der JNDI-Exploitation nützlich sein.

Weitere Informationen in diesem Blogpost: https://www.veracode.com/blog/research/exploiting-jndi-injections-java

Ressourcen

  • 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
Tool herunterladen