Scans
Ogma bevat passieve en actieve scanners. Passief scannen analyseert vastgelegd verkeer. Actief scannen verstuurt gewijzigde verzoeken en valideert bevindingen op basis van antwoordgedrag, timing, reflectie en vergelijking met een uitgangswaarde.
Passieve scanner
De passieve scanner beoordeelt vastgelegde HTTP-vermeldingen zonder nieuw verkeer te versturen.
Hij detecteert onder meer deze categorieën:
- Openbaarmaking van SQL-, NoSQL-, LDAP-, template-, deserialisatie- en XML-fouten.
- Ontbrekende of zwakke beveiligingsheaders.
- Problemen met cookievlaggen.
- CORS-configuratiefouten.
- Blootgestelde geheimen, privésleutels, serviceaccountgegevens, webhooks en tokens.
- Blootgesteld versiebeheer, configuratie, API-documentatie of gevoelige bestanden.
- JWT-aandachtspunten zoals het algoritme
none, lange geldigheidsduur en HMAC-gebruik. - Trage antwoorden en gevaarlijke HTTP-methoden.
Passieve bevindingen zijn nuttig voor triage, maar moeten nog steeds worden beoordeeld. Bevindingen over headers en beleid hangen vaak af van de applicatiecontext.
Passieve analyse uitvoeren
- Leg verkeer vast.
- Open Hulpprogramma's > Scanner.
- Selecteer Passieve scanner.
- Klik op Alle geschiedenis scannen.
- Bekijk de aangemaakte bevindingen in Bevindingen.
Aangepaste passieve regels configureer je in Instellingen > Scanner.
Actieve scanner
De actieve scanner injecteert payloads op mogelijke invoerlocaties in verzoeken en valideert het antwoord van het doel.
Geïmplementeerde controlecategorieën:
| Controle | Bevestigingsgedrag |
|---|---|
| SQL-injectie | Zoekt naar SQL-fouten of een herhaalbare tijdvertraging boven de gemeten uitgangswaarde bij tijdgebaseerde payloads. |
| Gereflecteerde XSS | Vereist reflectie van de payload in een HTML-antwoord zonder de verwachte codering. |
| Padtraversal / LFI | Vereist bestandsinhoudindicatoren die niet aanwezig waren in het uitgangsantwoord. |
| OS-commando-injectie | Vereist commando-uitvoer of een herhaalbare vertraging boven de gemeten uitgangswaarde bij timingpayloads. |
| SSTI | Gebruikt deterministische payloads met templateberekeningen en vereist het berekende resultaat in het antwoord. |
| SSRF | Vereist bewijs van metadata of servicebanners uit geïnjecteerde URL-payloads. |
| Open omleiding | Vereist een omleidingsantwoord dat naar het geïnjecteerde externe domein verwijst. |
De scanner beschouwt een generiek 200 OK-antwoord bewust niet als bewijs van een kwetsbaarheid.
Nog niet geïmplementeerde controles
De lijst met actieve controles kan controles bevatten die als nog niet geïmplementeerd zijn gemarkeerd. Deze zijn zichtbaar om de roadmap te verduidelijken, maar maken geen bevindingen. In de huidige backend worden XXE en onveilige uploads niet automatisch bevestigd zonder out-of-band of applicatiespecifieke verificatie.
Alles actief scannen
Alles actief scannen test recent vastgelegde verzoeken door payloads te injecteren in:
- Queryparameters.
- Formulierbodyparameters.
- JSON-waarden.
- Padsegmenten.
- Geselecteerde headers wanneer ingeschakeld.
Gebruik scope vóór actief scannen om verkeer en resultaten gericht te houden.
Aanbevolen workflow:
- Bepaal en activeer de scope.
- Leg representatief doelverkeer vast.
- Begin met passieve analyse.
- Voer actieve scans op geselecteerde verzoeken uit voordat je Alles actief scannen gebruikt.
- Beoordeel bewijsverzoeken en antwoordbewijs in Bevindingen.
- Verwijder foutpositieven in plaats van onbewerkte scanneruitvoer te rapporteren.
Bewijskwaliteit
Een hoogwaardige scannerbevinding moet de volgende vragen beantwoorden:
- Welke parameter of invoer is getest?
- Welke payload is gebruikt?
- Wat veranderde er in het antwoord?
- Ontbrak het gedrag in het uitgangsantwoord?
- Is het probleem herhaalbaar?
- Is er gekoppeld bewijs in Ogma?
Verlaag bij onzeker bewijs de betrouwbaarheid of bewaar het resultaat als notitie totdat het is bevestigd.