Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
sj — Ein Tool zur Überprüfung von Endpunkten, die in offengelegten (Swagger/OpenAPI) Definitionsdateien definiert sind. | Kitploit
Tools/GitHubGitHub/bishopfox/sj
SchwachstellenscannerAPI-SicherheitstestsWebsicherheitPenetrationstests
GitHubbishopfox/sj

sj

Ein Tool zur Überprüfung von Endpunkten, die in offengelegten (Swagger/OpenAPI) Definitionsdateien definiert sind.

Repository anzeigen
86711335vor 18 TagenVon 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

sj (Swagger Jacker)

sj ist ein Kommandozeilenwerkzeug, das bei der Überwachung von freigegebenen Swagger/OpenAPI-Definitionsdateien hilft, indem es die zugehörigen API-Endpunkte auf schwache Authentifizierung prüft. Außerdem stellt es Befehlsschablonen für manuelle Schwachstellentests bereit.

Es tut dies, indem es die Definitionsdatei nach Pfaden, Parametern und akzeptierten Methoden parst und die Ergebnisse dann mit einem von fünf Unterbefehlen verwendet:

  • automate - Erstellt eine Reihe von Anfragen und analysiert den Statuscode der Antwort.
  • prepare - Generiert eine Liste von Befehlen für manuelle Tests.
  • endpoints - Generiert eine Liste der rohen API-Routen. Pfadwerte werden nicht durch Testdaten ersetzt.
  • brute - Sendet eine Reihe von Anfragen an ein Ziel, um Operationsdefinitionen basierend auf häufig verwendeten Dateipfaden zu finden.
  • convert - Konvertiert eine Definitionsdatei von v2 zu v3.

Erstellen

Um aus dem Quellcode zu kompilieren, stellen Sie sicher, dass Go Version >= 1.22.5 installiert ist, und führen Sie go build im Repository aus:

$ git clone https://github.com/BishopFox/sj.git
$ cd sj/
$ go build .

Installieren

Um die neueste Version des Tools zu installieren, führen Sie folgenden Befehl aus:

$ go install github.com/BishopFox/sj@latest

# Hinweis: Möglicherweise müssen Sie den Pfad zu Ihren Go-Binärdateien in Ihrer PATH-Umgebungsvariable ablegen:
$ export PATH=$PATH:~/go/bin

Verwendung

Verwenden Sie den Befehl automate, um eine Reihe von Anfragen an jeden definierten Endpunkt zu senden und den Statuscode jeder Antwort zu analysieren.

$ sj automate -u https://petstore.swagger.io/v2/swagger.json -qi -p http://127.0.0.1:8080               

Gathering API details.
Title: Swagger Petstore
Description: This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.
✓  GET  200  /v2/pet/findByStatus
✓  GET  200  /v2/user/logout
⚠  POST  400  /v2/user/createWithArray
⚠  POST  400  /v2/store/order
✗  GET  404  /v2/store/order/1
⚠  POST  400  /v2/pet
⚠  PUT  415  /v2/pet
⚠  POST  400  /v2/user/createWithList
✗  GET  404  /v2/user/bishopfox
⚠  PUT  415  /v2/user/bishopfox
⚠  POST  400  /v2/user
⚠  POST  415  /v2/pet/1/uploadImage
✓  GET  200  /v2/pet/findByTags
✗  GET  404  /v2/pet/1
⚠  POST  415  /v2/pet/1
✓  GET  200  /v2/store/inventory
✓  GET  200  /v2/user/login

Sie können das Flag --replay-proxy verwenden, um übereinstimmende Anfragen über einen separaten Proxy (z. B. Burp Suite) erneut zu senden. Dadurch können Sie den gesamten Datenverkehr über einen Proxy (oder direkt) leiten und nur interessante Ergebnisse an Ihren Abfangproxy senden:

$ sj automate -u https://petstore.swagger.io/v2/swagger.json -qi --replay-proxy http://127.0.0.1:8080

Sie können es auch mit --proxy kombinieren, um den Scanverkehr über einen anderen Proxy zu leiten, während Übereinstimmungen an Burp weitergeleitet werden:

$ sj automate -u https://petstore.swagger.io/v2/swagger.json -qi -p http://proxy:9090 --replay-proxy http://127.0.0.1:8080

Sie können auch eine ausführliche Ausgabe anfordern, um die teilweise (oder vollständige) Antwort zu sehen:

$ sj automate -u https://petstore.swagger.io/v2/swagger.json -qi -p http://127.0.0.1:8080 -v           

Gathering API details.
Title: Swagger Petstore
Description: This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.
✗  GET  404  /v2/user/bishopfox
   {"code":1,"type":"error","message":"User not found
⚠  PUT  415  /v2/user/bishopfox
   {"code":415,"type":"unknown","message":"com.sun.je
✓  GET  200  /v2/user/logout
   {"code":200,"type":"unknown","message":"ok"}
⚠  POST  400  /v2/user/createWithArray
   {"code":400,"type":"unknown","message":"bad input"
⚠  POST  400  /v2/user/createWithList
   {"code":400,"type":"unknown","message":"bad input"
✗  GET  404  /v2/pet/1
   {"code":1,"type":"error","message":"Pet not found"
⚠  POST  415  /v2/pet/1
   {"code":415,"type":"unknown"}
✓  GET  200  /v2/store/inventory
   {"sold":117,"string":26,"invalidStatus":1,"-1":1,"
⚠  POST  400  /v2/store/order
   {"code":400,"type":"unknown","message":"bad input"
✓  GET  200  /v2/user/login
   {"code":200,"type":"unknown","message":"logged in 
⚠  POST  400  /v2/pet
   {"code":400,"type":"unknown","message":"bad input"
⚠  PUT  415  /v2/pet
   {"code":415,"type":"unknown","message":"com.sun.je
✓  GET  200  /v2/pet/findByStatus
   []
✓  GET  200  /v2/pet/findByTags
   []
✗  GET  404  /v2/store/order/1
   {"code":1,"type":"error","message":"Order not foun
⚠  POST  400  /v2/user
   {"code":400,"type":"unknown","message":"bad input"
⚠  POST  415  /v2/pet/1/uploadImage
   {"code":415,"type":"unknown"}

Verwenden Sie den Befehl prepare, um eine Liste von Befehlen für manuelle Tests vorzubereiten. Unterstützt derzeit sowohl curl als auch sqlmap. Sie müssen diese wahrscheinlich geringfügig anpassen.

$ sj prepare -u https://petstore.swagger.io/v2/swagger.json -qi -p http://127.0.0.1:8080      

INFO[0000] Gathering API details.
                      
Title: Swagger Petstore
Description: This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.
$ curl -X POST "https://petstore.swagger.io/v2/pet/{petId}"
$ curl -X GET "https://petstore.swagger.io/v2/pet/{petId}"
$ curl -X GET "https://petstore.swagger.io/v2/store/inventory"
$ curl -X POST "https://petstore.swagger.io/v2/user/createWithList" -d 'body=1'
$ curl -X GET "https://petstore.swagger.io/v2/user/logout"
$ curl -X POST "https://petstore.swagger.io/v2/user/createWithArray" -d 'body=1'
$ curl -X GET "https://petstore.swagger.io/v2/pet/findByStatus"
$ curl -X GET "https://petstore.swagger.io/v2/pet/findByTags"
$ curl -X POST "https://petstore.swagger.io/v2/store/order" -d 'petId=1&quantity=1&shipDate=bishopfox&status=bishopfox&complete=1&id=1&body='
$ curl -X POST "https://petstore.swagger.io/v2/pet/{petId}/uploadImage"
$ curl -X POST "https://petstore.swagger.io/v2/pet" -d 'photoUrls=1&tags=1&status=bishopfox&id=1&category=&name=doggie&body='
$ curl -X PUT "https://petstore.swagger.io/v2/pet" -d 'id=1&category=&name=doggie&photoUrls=1&tags=1&status=bishopfox&body='
$ curl -X GET "https://petstore.swagger.io/v2/user/{username}"
$ curl -X PUT "https://petstore.swagger.io/v2/user/{username}" -d 'email=bishopfox&password=bishopfox&phone=bishopfox&userStatus=1&id=1&username=bishopfox&firstName=bishopfox&lastName=bishopfox&body='
$ curl -X GET "https://petstore.swagger.io/v2/user/login"
$ curl -X POST "https://petstore.swagger.io/v2/user" -d 'phone=bishopfox&userStatus=1&id=1&username=bishopfox&firstName=bishopfox&lastName=bishopfox&email=bishopfox&password=bishopfox&body='
$ curl -X GET "https://petstore.swagger.io/v2/store/order/{orderId}"

Verwenden Sie den Befehl endpoints, um eine Liste der rohen Endpunkte aus der bereitgestellten Definitionsdatei zu generieren.

$ sj endpoints -u https://petstore.swagger.io/v2/swagger.json -qi -p http://127.0.0.1:8080
Tool herunterladen