hacktricks/src/network-services-pentesting/pentesting-631-internet-printing-protocol-ipp.md

24 lines
1.6 KiB
Markdown

{{#include ../banners/hacktricks-training.md}}
# Internet Printing Protocol \(IPP\)
Das **Internet Printing Protocol (IPP)**, wie in **RFC2910** und **RFC2911** spezifiziert, dient als Grundlage für das Drucken über das Internet. Seine Erweiterungsfähigkeit wird durch Entwicklungen wie **IPP Everywhere** demonstriert, das darauf abzielt, mobiles und Cloud-Drucken zu standardisieren, sowie durch die Einführung von Erweiterungen für **3D-Druck**.
Durch die Nutzung des **HTTP**-Protokolls profitiert IPP von etablierten Sicherheitspraktiken, einschließlich **Basic/Digest-Authentifizierung** und **SSL/TLS-Verschlüsselung**. Aktionen wie das Einreichen eines Druckauftrags oder das Abfragen des Druckerstatus werden durch **HTTP POST-Anfragen** an den IPP-Server durchgeführt, der auf **Port 631/tcp** arbeitet.
Eine bekannte Implementierung von IPP ist **CUPS**, ein Open-Source-Drucksystem, das in verschiedenen Linux-Distributionen und OS X verbreitet ist. Trotz seiner Nützlichkeit kann IPP, ähnlich wie LPD, ausgenutzt werden, um schädliche Inhalte über **PostScript** oder **PJL-Dateien** zu übertragen, was ein potenzielles Sicherheitsrisiko darstellt.
```python
# Example of sending an IPP request using Python
import requests
url = "http://printer.example.com:631/ipp/print"
headers = {"Content-Type": "application/ipp"}
data = b"..." # IPP request data goes here
response = requests.post(url, headers=headers, data=data, verify=True)
print(response.status_code)
```
Wenn Sie mehr über [**Hacking von Druckern erfahren möchten, lesen Sie diese Seite**](http://hacking-printers.net/wiki/index.php/Main_Page).
{{#include ../banners/hacktricks-training.md}}