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

3.7 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Internetowy Protokół Drukowania IPP

Internetowy Protokół Drukowania (IPP), określony w RFC2910 i RFC2911, stanowi podstawę dla drukowania przez internet. Jego zdolność do rozszerzania jest pokazana przez rozwój takich inicjatyw jak IPP Everywhere, który ma na celu standaryzację drukowania mobilnego i w chmurze, oraz wprowadzenie rozszerzeń dla drukowania 3D.

Wykorzystując protokół HTTP, IPP korzysta z ustalonych praktyk bezpieczeństwa, w tym podstawowej/autoryzacji digest oraz szyfrowania SSL/TLS. Działania takie jak przesyłanie zadań drukowania lub zapytania o status drukarki są realizowane za pomocą żądań HTTP POST kierowanych do serwera IPP, który działa na porcie 631/tcp.

Znana implementacja IPP to CUPS, system drukowania open-source, powszechnie stosowany w różnych dystrybucjach Linuksa i OS X. Pomimo swojej użyteczności, IPP, podobnie jak LPD, może być wykorzystywany do przesyłania złośliwej zawartości za pomocą plików PostScript lub PJL, co podkreśla potencjalne ryzyko bezpieczeństwa.

# 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)

Jeśli chcesz dowiedzieć się więcej o hackingu drukarek, przeczytaj tę stronę.

{% hint style="success" %} Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks
{% endhint %}