In den letzten drei Monaten wurden wöchentlich viele Webanwendungen durch Server-Side Template Injection (SSTI) Angriffe angegriffen. | Over the past three months, many web applications have been affected by Server-Side Template Injection (SSTI) attacks on a weekly basis. |
Check Point Research (CPR) hat die Angriffstechnik Server-Side Template Injection (SSTI) untersucht. Dabei handelt es sich um Schwachstellen in Webanwendungen, die Angreifer ausnutzen können, um bösartigen Code in serverseitige Templates einzuschleusen. Dadurch können sie beliebige Befehle auf dem Server ausführen, was zu unberechtigtem Datenzugriff, zur Kompromittierung des Servers oder zur Ausnutzung weiterer Schwachstellen führen kann. In letzter Zeit sind SSTI-Schwachstellen immer häufiger und besorgniserregender geworden, da die Anzahl kritischer CVEs (Common Vulnerabilities and Exposures), die verschiedene Webanwendungen betreffen, deutlich zugenommen hat. Diese Schwachstellen sind besonders gefährlich, da sie aus der Ferne ausgenutzt werden können und es Angreifern ermöglichen, die Kontrolle über die Server zu übernehmen, auf denen diese Anwendungen gehostet werden. Hauptrisiken von SSTI: Beliebige Codeausführung: Angreifer können die vollständige Kontrolle über den Server erlangen, was zu einer vollständigen Kompromittierung des Systems führt. Datendiebstahl: Sensible Geschäftsinformationen, Benutzerdaten und Konfigurationsdateien können eingesehen und gestohlen werden. Rufschädigung: Datenschutzverletzungen können das Vertrauen der Kunden untergraben und rechtliche und regulatorische Konsequenzen nach sich ziehen. Im letzten Jahr wurden bekannte Plattformen wie Atlassian Confluence, CrushFTP und Rejetto HTTP File Server gezielt angegriffen und in realen Angriffen erfolgreich missbraucht. Die US-Sicherheitsbehörde CISA (The Cybersecurity and Infrastructure Security Agency) hat auf Vorfälle hingewiesen, bei denen diese Plattformen aufgrund von SSTI-Schwachstellen kompromittiert wurden. Dies zeigt, wie kritisch das Problem ist und welche Auswirkungen es auf Unternehmen haben kann, die sich auf diese weit verbreiteten Softwarelösungen verlassen. In den letzten drei Monaten war durchschnittlich eines von 16 Unternehmen pro Woche von Server-Side Template Injection (SSTI)-Angriffen betroffen. In diesem Zeitraum war der Einzel-/Großhandel mit durchschnittlich einem von elf Unternehmen pro Woche am stärksten betroffen. Der Einzel-/Großhandel ist besonders anfällig für diese Art von Angriffen, da er ein hohes Transaktionsvolumen mit wertvollen Kundendaten, einschließlich persönlicher Informationen und Zahlungsdetails, die für Hacker attraktiv sind, aufweist, mit E-Commerce-Diensten von Drittanbietern integriert ist, was die Angriffsfläche vergrößert, und von veralteten Altsystemen und öffentlich zugänglichen Anwendungen abhängig ist. An zweiter Stelle folgt der Finanz-/Bankensektor, in dem 1 von 15 Organisationen Vorfälle meldete. Finanzinstitute, die in der Regel wegen ihrer sensiblen Finanzdaten und ihres Zugangs zu Finanzmitteln angegriffen werden, sind auch ein attraktives Ziel für staatlich finanzierte und organisierte Cyberkriminalität. Weitere Angriffe werden auch durch die weit verbreitete Nutzung von Online- und mobilen Bankdiensten begünstigt, da sich dadurch die Angriffsfläche vergrößert und das Potenzial für ausnutzbare Schwachstellen steigt. Finanzinstitute sind häufig auf Dienste und APIs von Drittanbietern angewiesen, die bei unzureichender Verwaltung zusätzliche Sicherheitsrisiken bergen können, ebenso wie die Abhängigkeit von Legacy-Systemen und komplexen IT-Systemen. Was die Infrastruktur betrifft, so sind Cloud-basierte Organisationen etwa 30 % mehr Angriffen pro Woche ausgesetzt als ihre lokalen Pendants. SSTI-Angriffe finden zwar nicht nur in Cloud-Infrastrukturen statt, aber aufgrund der Komplexität der Technologie oder Fehlkonfigurationen, Integrationen von Drittanbietern oder Sicherheitslücken zwischen dem Cloud-Anbieter und dem Kunden können SSTI-Angriffe in Cloud-Umgebungen häufiger auftreten. Die Behebung von SSTI-Schwachstellen hat für Unternehmen, die mit der Entwicklung und Wartung von Webanwendungen befasst sind, höchste Priorität, insbesondere angesichts der weit verbreiteten Verwendung von Template-Engines und der allgemeinen Notwendigkeit, Inhalte dynamisch auf der Grundlage von Benutzereingaben zu generieren. Dies erfordert solide Sicherheitspraktiken, einschließlich sicherer Kodierungstechniken, regelmäßiger Schwachstellenbewertungen und zeitnaher Patches für die Software, um diese Risiken wirksam zu mindern. Was ist eine Server-Side Template Injection Schwachstelle? Eine Server-Side Template Injection (SSTI) Schwachstelle tritt auf, wenn eine Benutzereingabe unsachgemäß verarbeitet und in die Template-Engine einer Webanwendung injiziert wird. Template-Engines werden zur dynamischen Generierung von HTML-Inhalten verwendet, indem Templates mit Daten kombiniert werden. Ein Angreifer kann diese Schwachstelle ausnutzen, um bösartigen Code in die Templates zu injizieren. Sobald dieser Code auf dem Server ausgeführt wird, kann er möglicherweise die Kontrolle über die betroffene Serverumgebung erlangen. Angreifer können dann auf sensible Informationen zugreifen, beliebige Befehle ausführen und andere Schwachstellen in der Anwendung ausnutzen. SSTI kann verschiedene Template-Engines wie Jinja2 für Python, Freemarker für Java und Twig für PHP betreffen und ist daher ein weit verbreitetes Problem in verschiedenen Programmierumgebungen. Beispiele für SSTI Exploits in der realen Welt Fuzzing ist eine beliebte Technik unter Sicherheitstestern, um Schwachstellen aufzudecken, indem eine Vielzahl von Eingaben automatisch in eine Anwendung eingespeist und deren Verhalten beobachtet wird. Im Zusammenhang mit SSTI beinhaltet Fuzzing das Senden verschiedener Benutzerdaten an verschiedene Teile einer Webanwendung, um festzustellen, ob und wo Benutzereingaben von einer Template-Engine verarbeitet werden, indem Unterschiede in den Ergebnissen beobachtet werden, die in den Antworten des Servers zurückgegeben werden. Fuzzing ist die wichtigste Methode, um den spezifischen Typ der verwendeten Template-Engine zu identifizieren, was für die Erstellung effektiver Payloads, die auf die Syntax und das Verhalten dieser Engine zugeschnitten sind, unerlässlich ist. Blind SSTI ist eine Untermenge dieser Technik und ein gängiger Ansatz zum Testen von Template-Engines auf SSTI-Schwachstellen. Im Gegensatz zum regulären SSTI, bei dem die Ausgabe des injizierten Codes direkt in der Antwort beobachtet werden kann, liefert der blinde SSTI keine direkte Rückmeldung über die Ausgabe der Anwendung. Stattdessen werden indirekte Methoden verwendet, um zu bestätigen, dass die Injektion erfolgreich war und um Informationen zu sammeln. Eine besonders störende Art, SSTI auszunutzen, ist die Verwendung der Sleep-Funktion. Während der Fuzzing-Phase der SSTI-Schwachstellenbewertung ist der Ruhezustand ein wichtiges Werkzeug für die Validierung, die Timing-Analyse und die Verschleierung. Es hilft den Testern, das Vorhandensein von Schwachstellen zu bestätigen und auf zerstörungsfreie Weise Informationen über die Zielumgebung zu sammeln. Angreifer verwenden häufig Sleep-Befehle, um die Zeit zu messen, die der Server benötigt, um auf verschiedene Eingaben zu reagieren. | Check Point Research (CPR) has conducted research on Server-Side Template Injection (SSTI). These are vulnerabilities in Web applications that attackers can exploit to inject malicious code into server-side templates. This allows them to execute arbitrary commands on the server, potentially leading to unauthorized data access, server compromise, or exploitation of additional vulnerabilities. Recently, SSTI vulnerabilities have become increasingly prevalent and concerning, with a notable increase in critical Common Vulnerabilities and Exposures (CVEs) affecting various Web applications. These vulnerabilities are particularly dangerous because they can be exploited remotely, allowing attackers to take control of the servers hosting these applications. Key risks from SSTI: Arbitrary code execution: Attackers can take full control of the server, resulting in a complete system compromise. Data theft: Sensitive business information, user data, and configuration files can be accessed and stolen. Reputation damage: Data breaches can undermine customer confidence and lead to legal and regulatory consequences. In the past year, high-profile platforms such as Atlassian Confluence, CrushFTP, and Rejetto HTTP File Server have been targeted and successfully exploited in real-world attacks. CISA (The Cybersecurity and Infrastructure Security Agency) highlighted incidents where these platforms were compromised due to SSTI vulnerabilities. This underscores the criticality of the issue and the potential impact on organizations that rely on these widely deployed software solutions. Over the past three months, on average, one out of every 16 organizations were impacted weekly by Server-Side Template Injection (SSTI) attacks. During this period, the Retail/Wholesale sector saw the highest impact, with these attacks affecting on average one out of every 11 organizations weekly. The Retail/Wholesale sector is particularly vulnerable to these attacks due to the high transaction volumes with valuable customer data which includes personal information and payment details attractive to hackers, integration with third-party e-commerce services expanding the attack surface, reliance on outdated legacy systems and public facing applications. Following closely was the Finance/Banking sector, where incidents were reported in 1 out of 15 organizations. Usually targeted for their sensitive financial data and access to finance, financial institutions are also attractive targets for State-Sponsored and organized cybercrime attacks. Further attacks are also fueled by the widespread adoption of online and mobile banking services, due to increased attack surfaces, increasing the potential for exploitable vulnerabilities. Financial institutions often rely on third-party services and APIs, which can introduce additional security risks if not properly managed as does reliance on legacy systems and complex IT systems. In terms of infrastructure, cloud-based organizations face approximately 30% more frequent attacks on a weekly basis compared to their on-premises counterparts. Whilst SSTI attacks do not occur only on Cloud-based infrastructure, SSTI may take place more frequentl in cloud environments due to complexity of the technology or misconfigurations, third-party integrations or security coverage gaps between the cloud provider and the customer. Addressing SSTI vulnerabilities is a critical priority for organizations involved in web application development and maintenance, especially as there is widespread use of template engines and the common need for dynamic content generation based on user input. It requires robust security practices, including secure coding techniques, regular vulnerability assessments, and prompt patching of software to mitigate these risks effectively. What is Server-Side Template Injection Vulnerability A Server-Side Template Injection (SSTI) vulnerability occurs when a user input is improperly handled and injected into a web application’s template engine. Template engines are used to dynamically generate HTML content by combining templates with data. An attacker can use this vulnerability to inject malicious code into the templates. Once executed on the server, this code can potentially lead to control over the affected server environment. Attackers can then access sensitive information, execute arbitrary commands, and exploit other vulnerabilities within the application. SSTI can affect various template engines such as Jinja2 for Python, Freemarker for Java, and Twig for PHP, making it a widespread concern across different programming environments. Real-World Examples of SSTI Exploits Fuzzing is a popular technique among security testers to detect vulnerabilities by automatically injecting a wide range of inputs into an application and observing its behavior. In the context of SSTI, fuzzing involves sending various payloads to different parts of a web application to determine if and where user inputs are being processed by a template engine by observing the differences in results returned in the server’s responses. Fuzzing is the primary method used to identify the specific type of template engine in use, which is essential for crafting effective payloads tailored to that engine’s syntax and behavior. Blind SSTI is a subset of this technique and a common approach when testing for SSTI vulnerabilities in template engines. Unlike regular SSTI, where the output of injected code can be directly observed in the response, blind SSTI does not provide immediate feedback through the application’s output. Instead, it relies on indirect methods to confirm that the injection is successful and to gather information.
One particularly disruptive way to exploit SSTI is to utilize the sleep function. During the fuzzing phase of SSTI vulnerability assessment, sleep serves as a crucial tool for validation, timing analysis, and stealth. It helps testers confirm the presence of vulnerabilities and gather information about the target environment in a non-destructive manner. Attackers often use sleep commands to measure the time it takes for the server to respond to various inputs. |
Arne Lehfeldt, Systems Engineer und CTO Ambassador bei Dell Technologies, erklärt im Podcast Security, Storage und Channel Germany mit Carolina Heyder, warum Unternehmen keine Angst vor KI haben sollten. | Arne Lehfeldt, Systems Engineer and CTO Ambassador at Dell Technologies, explains why companies shouldn’t be afraid of AI in the Security, Storage and Channel Germany podcast with Carolina Heyder. |
Dr. Jakob Jung ist Chefredakteur Security Storage und Channel Germany. Er ist seit mehr als 20 Jahren im IT-Journalismus tätig. Zu seinen beruflichen Stationen gehören Computer Reseller News, Heise Resale, Informationweek, Techtarget (Storage und Datacenter) sowie ChannelBiz. Darüber hinaus ist er für zahlreiche IT-Publikationen freiberuflich tätig, darunter Computerwoche, Channelpartner, IT-Business, Storage-Insider und ZDnet. Seine Themenschwerpunkte sind Channel, Storage, Security, Datacenter, ERP und CRM.
Dr. Jakob Jung is Editor-in-Chief of Security Storage and Channel Germany. He has been working in IT journalism for more than 20 years. His career includes Computer Reseller News, Heise Resale, Informationweek, Techtarget (storage and data center) and ChannelBiz. He also freelances for numerous IT publications, including Computerwoche, Channelpartner, IT-Business, Storage-Insider and ZDnet. His main topics are channel, storage, security, data center, ERP and CRM.
Kontakt – Contact via Mail: jakob.jung@security-storage-und-channel-germany.de