HTTP X-Powered-By Header

Der HTTP-Header X-Powered-By ist ein Response-Header, der die verwendete Server-Technologie, Framework oder Programmiersprache offenlegt. Aus Sicherheitsgründen sollte dieser Header in Produktionsumgebungen entfernt werden.

Typ

Response-Header

Syntax

Der Header gibt Technologie-Details des Servers preis.

http
X-Powered-By: PHP/8.2.0
X-Powered-By: Express

Direktiven

Die Direktive offenbart Server-Stack-Komponenten.

<technology>
Name und optional Version der verwendeten Technologie, z.B. PHP/8.2.0, ASP.NET, Express, Spring Boot. Kann auch mehrere Komponenten enthalten.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den X-Powered-By-Header.

Beispiel 1 PHP Server Disclosure

http
HTTP/1.1 200 OK
Server: Apache/2.4.54
X-Powered-By: PHP/8.2.0
Content-Type: text/html

<!DOCTYPE html>
<html>...</html>

PHP-basierter Server offenbart PHP-Version 8.2.0, Angreifer können gezielt nach Version-spezifischen Exploits suchen.

Beispiel 2 Node.js Express Framework

http
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/json

{"status": "ok"}

Express.js-Server identifiziert sich, ermöglicht Fingerprinting der verwendeten Node.js-Technologie.

Beispiel 3 Sicheres Entfernen des Headers

http
HTTP/1.1 200 OK
Content-Type: application/json

{"status": "ok"}

Best Practice: Kein X-Powered-By Header in Response, reduziert Information Disclosure und Attack Surface.

Security Implications

PHP Konfiguration zum Entfernen:

php
// In php.ini
expose_php = Off

Express.js Konfiguration:

javascript
const express = require('express');
const app = express();

// Entfernt X-Powered-By Header
app.disable('x-powered-by');

ASP.NET Konfiguration:

xml
<system.webServer>
  <httpProtocol>
    <customHeaders>
      <remove name="X-Powered-By" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Information Disclosure Flow

X-Powered-By Information Disclosure

Vorteile für die Systemarchitektur

  • Security durch Obscurity: Reduziert Information Disclosure an potentielle Angreifer
  • Compliance-Anforderungen: Viele Security-Standards fordern Entfernen von Technologie-Identifikatoren
  • Fingerprinting-Prävention: Erschwert automatisierte Schwachstellen-Scans basierend auf Versionen

Spezifikation

Kein formaler RFC, Non-Standard Header OWASP Information Disclosure https://owasp.org/www-community/vulnerabilities/Information_exposure_through_server_headers

Weitere Spezifikationen

Server Header, Content-Security-Policy Header