1.5 KiB
{{#include ../banners/hacktricks-training.md}}
Internet Printing Protocol IPP
Il Internet Printing Protocol (IPP), come specificato in RFC2910 e RFC2911, serve come base per la stampa su internet. La sua capacità di essere esteso è dimostrata da sviluppi come IPP Everywhere, che mira a standardizzare la stampa mobile e cloud, e l'introduzione di estensioni per la stampa 3D.
Sfruttando il protocollo HTTP, IPP beneficia di pratiche di sicurezza consolidate, tra cui autenticazione base/digest e crittografia SSL/TLS. Azioni come l'invio di un lavoro di stampa o la richiesta dello stato della stampante vengono eseguite tramite richieste HTTP POST dirette al server IPP, che opera sulla porta 631/tcp.
Una implementazione ben nota di IPP è CUPS, un sistema di stampa open-source prevalente in varie distribuzioni Linux e OS X. Nonostante la sua utilità, IPP, simile a LPD, può essere sfruttato per trasmettere contenuti dannosi tramite file PostScript o PJL, evidenziando un potenziale rischio per la sicurezza.
# 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)
Se vuoi saperne di più su hacking delle stampanti leggi questa pagina.
{{#include ../banners/hacktricks-training.md}}