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

24 lines
1.7 KiB
Markdown

{{#include ../banners/hacktricks-training.md}}
# Internet Printing Protocol \(IPP\)
Le **Internet Printing Protocol (IPP)**, tel que spécifié dans **RFC2910** et **RFC2911**, sert de base pour l'impression sur Internet. Sa capacité à être étendu est mise en avant par des développements comme **IPP Everywhere**, qui vise à standardiser l'impression mobile et cloud, et l'introduction d'extensions pour l'**impression 3D**.
En s'appuyant sur le protocole **HTTP**, IPP bénéficie de pratiques de sécurité établies, y compris **l'authentification de base/digest** et **le chiffrement SSL/TLS**. Des actions comme la soumission d'un travail d'impression ou la consultation de l'état de l'imprimante sont effectuées via des **requêtes HTTP POST** dirigées vers le serveur IPP, qui fonctionne sur le **port 631/tcp**.
Une implémentation bien connue de l'IPP est **CUPS**, un système d'impression open-source répandu dans diverses distributions Linux et OS X. Malgré son utilité, l'IPP, à l'instar de LPD, peut être exploité pour transmettre du contenu malveillant via des **fichiers PostScript** ou **PJL**, soulignant un risque potentiel pour la sécurité.
```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)
```
Si vous souhaitez en savoir plus sur [**le hacking des imprimantes, lisez cette page**](http://hacking-printers.net/wiki/index.php/Main_Page).
{{#include ../banners/hacktricks-training.md}}