Commando-injectie

Commando-injectie

Eén puntkomma in een formulierveld en de server voert uw opdracht uit.

Wat is Commando-injectie?

Commando-injectie verandert één webverzoek in code-uitvoering onder de eigen identiteit van de server. De applicatie plakt gebruikersinvoer in een opdrachtreeks en geeft deze door aan een shell, die elk speciaal teken als syntaxis leest. U voegt een puntkomma toe aan het hostveld van een netwerkdiagnosetool, voert een tweede opdracht uit en leest het omgevingsbestand terug met het databasewachtwoord erin. Vervolgens vervang je de aaneengeschakelde tekenreeks door execFile , zodat de host één enkel argument blijft, en zie je waarom het filteren van gevaarlijke tekens altijd verliest.

Wat je leert in Commando-injectie

Commando-injectie — Trainingsstappen

  1. Het diagnostisch hulpmiddel

    Trelvane beheert een hostingplatform en biedt een openbare Looking Glass: plak een host en de edge-servers van Trelvane pingen deze voor u en geven de onbewerkte uitvoer terug. Handig voor klanten die controleren of een server bereikbaar is. Bob opent het om te zien hoe het zich gedraagt ​​voordat hij het aanraakt.

  2. Het voert een echt commando uit

    Eén regel op die pagina is de hele reden waarom Bob geïnteresseerd is.

  3. Gebruik de functie

    Kijk hoe het gereedschap zich normaal gedraagt. Ping een gewone host zodat de browser het verzoek vastlegt dat de pagina verzendt.

  4. Zoek het verzoek

    Het verzoek ging uit en de browser registreerde het. Open het netwerkpaneel en lees waar de pagina het naartoe heeft gestuurd en hoe de host reist.

  5. Voeg een tweede commando toe

    Bob raakt het formulier nooit meer aan. Hij bewerkt het vastgelegde verzoek in het netwerkpaneel en herschrijft de host -waarde: een loopback-adres, een puntkomma en vervolgens twee eigen opdrachten. Als de server zijn ping-commando opbouwt door de waarde erin te plakken, beëindigt de puntkomma de ping en worden de commando's van Bob er direct achteraan uitgevoerd. Hij koppelt id om te zien als wie de server draait en een cat van het omgevingsbestand van de werknemer, waar hostingagenten hun databasewachtwoord en cloudsleutels bewaren.

  6. De sleutels zijn weg

    De ping is uitgevoerd en er verschijnen lijnen die ping nooit produceert.

  7. Kennis check

    Je hebt zojuist gezien hoe een ping-tool de opdrachten van de aanvaller uitvoerde en de geheimen van de server lekte. Leg vast waarom.

  8. De waarschuwing

    U bent eigenaar van de Looking Glass-service van Trelvane. Van de ene op de andere dag merkte monitoring op dat de diagnosewerker iets deed wat een ping-tool nooit zou moeten doen: shell-opdrachten uitvoeren en zijn eigen geheimenbestand lezen. Security Operations heeft u de details per e-mail gestuurd.

  9. Open de handler

    Het ping-eindpunt wordt bediend door ping.js . Open het en kijk hoe het de opdracht uitvoert.

  10. Zoek de fout

    De handler plakt de hostwaarde in een opdrachtreeks en geeft de hele reeks door aan een shell om uit te voeren.

Dekking van beveiligingsframeworks

OWASP Top 10

  • A05:2025 Injection
  • A03:2021 Injection

CWE

  • CWE-78 Improper Neutralization of Special Elements used in an OS Command

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security