Cross Site Printing: Printer Spamming

Many network printers listen on port 9100 for a print job (RAW Printing or Direct IP printing). You can telnet directly to the printer port and enter text. Once you disconnect from the printer it will print out the text that you send it. Network printers also accept PostScript, and Printer Control language. The security around this is usually minimal – connect to the port, send the print job, disconnect and the printer prints the page.

Within the last year there have been new discoveries on attacking the Intranet from the Internet. This involves setting an image tag or script tag to an internally addressable IP address and then the browser will request the “image” resource. Several attacks can be accomplished; port scanning, fingerprinting devices, and changing internal router settings.

By using only JavaScript, an Internet web site can remotely print to an internal network based printer by doing an HTTP Post. The web site initiating the print request can print full text, enter PostScript commands allowing the page to be formatted, and in some cases send faxes. For the attack to succeed the user needs to visit a web site that contains this JavaScript.

Download the paper in PDF format here.