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

24 lines
1.6 KiB
Markdown

{{#include ../banners/hacktricks-training.md}}
# Protocolo de Impressão da Internet \(IPP\)
O **Protocolo de Impressão da Internet (IPP)**, conforme especificado no **RFC2910** e **RFC2911**, serve como uma base para impressão pela internet. Sua capacidade de ser estendido é demonstrada por desenvolvimentos como **IPP Everywhere**, que visa padronizar impressão móvel e em nuvem, e a introdução de extensões para **impressão 3D**.
Aproveitando o protocolo **HTTP**, o IPP se beneficia de práticas de segurança estabelecidas, incluindo **autenticação básica/digest** e **criptografia SSL/TLS**. Ações como enviar um trabalho de impressão ou consultar o status da impressora são realizadas por meio de **requisições HTTP POST** direcionadas ao servidor IPP, que opera na **porta 631/tcp**.
Uma implementação bem conhecida do IPP é o **CUPS**, um sistema de impressão de código aberto prevalente em várias distribuições Linux e OS X. Apesar de sua utilidade, o IPP, assim como o LPD, pode ser explorado para transmitir conteúdo malicioso através de **arquivos PostScript** ou **PJL**, destacando um potencial risco de segurança.
```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)
```
Se você quiser saber mais sobre [**hacking de impressoras, leia esta página**](http://hacking-printers.net/wiki/index.php/Main_Page).
{{#include ../banners/hacktricks-training.md}}