<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://hacking-printers.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=134.147.202.176</id>
		<title>Hacking Printers - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://hacking-printers.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=134.147.202.176"/>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Special:Contributions/134.147.202.176"/>
		<updated>2026-05-02T00:03:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Bibliography&amp;diff=293</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Bibliography&amp;diff=293"/>
				<updated>2017-01-30T15:55:04Z</updated>
		
		<summary type="html">&lt;p&gt;134.147.202.176: /* Research by date */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Research by date ==&lt;br /&gt;
&lt;br /&gt;
=== 2017 ===&lt;br /&gt;
&lt;br /&gt;
'''SoK: Exploiting Network Printers''' ([https://www.nds.rub.de/media/ei/veroeffentlichungen/2017/01/30/printer-security.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jens Müller, Juraj Somorovsky, Vladislav Mladenov | Blogpost: [http://web-in-security.blogspot.de/2017/01/printer-security.html]&lt;br /&gt;
&lt;br /&gt;
=== 2016 ===&lt;br /&gt;
&lt;br /&gt;
'''Exploiting Network Printers:  A Survey of Security Flaws in Laser Printers and Multi-Function Devices''' ([https://www.nds.rub.de/media/ei/arbeiten/2017/01/30/exploiting-printers.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jens Müller, Juraj Somorovsky, Vladislav Mladenov | Proof-of-concept code: [https://github.com/RUB-NDS/PRET]&lt;br /&gt;
&lt;br /&gt;
'''PWN Xerox Printers (...again):  About Hardware Attacks and Insecure Cloning''' ([https://www.fkie.fraunhofer.de/content/dam/fkie/de/documents/xerox_phaser_6700_white_paper.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Peter Weidenbach, Raphael Ernst&lt;br /&gt;
&lt;br /&gt;
=== 2014 ===&lt;br /&gt;
&lt;br /&gt;
'''A Large-Scale Analysis of the Security of Embedded Firmwares''' ([https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-costin.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin, Jonas Zaddach, Aurélien Francillon, and Davide Balzarotti | Video: [https://www.youtube.com/watch?v=5gf6mFz1rPM]&lt;br /&gt;
&lt;br /&gt;
'''Hacking Canon Pixma Printers - Doomed Encryption''' ([http://www.contextis.com/resources/blog/hacking-canon-pixma-printers-doomed-encryption/ HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Michael Jordon&lt;br /&gt;
&lt;br /&gt;
=== 2013 ===&lt;br /&gt;
&lt;br /&gt;
'''Embedded Devices Security and Firmware Reverse Engineering''' ([http://s3.eurecom.fr/docs/bh13us_zaddach.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jonas Zaddach, Andrei Costin&lt;br /&gt;
&lt;br /&gt;
'''Research Report on the Security of MFPs''' ([https://www.ipa.go.jp/security/jisec/apdx/documents/20130312report_E.pdf])&lt;br /&gt;
&amp;lt;br&amp;gt;by IPA Information-technology Promotion Agency, Japan&lt;br /&gt;
&lt;br /&gt;
=== 2012 ===&lt;br /&gt;
&lt;br /&gt;
'''PostScript: Danger Ahead?!'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin | Slides: [https://infocon.org/cons/Hack%20In%20Paris/Hack%20In%20Paris%202012/Slides/Andrei-PostScript%20Danger%20Ahead.pdf] | Video: [https://www.youtube.com/watch?v=ygcs0m5C9ZI]&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
&lt;br /&gt;
'''Print Me If You Dare: Firmware Modification Attacks and the Rise of Printer Malware'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Ang Cui, Salvatore Stolfo | Slides: [http://ids.cs.columbia.edu/sites/default/files/CuiPrintMeIfYouDare.pdf] | Video: [https://www.youtube.com/watch?v=njVv7J2azY8]&lt;br /&gt;
&lt;br /&gt;
'''Printers gone Wild (PrintFS PJL filesystem)'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Ben Smith | Video: [http://www.securitytube.net/video/1395] | Proof-of-concept code: [http://www.remote-exploit.org/articles/printfs/index.html]&lt;br /&gt;
&lt;br /&gt;
'''From Printer to Pwnd: Leveraging Multifunction Printers During Penetration Testing'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Deral Heiland | Slides: [http://foofus.net/goons/percx/defcon/P2PWND.pdf] | Video: [https://www.youtube.com/watch?v=PH4pTCmKgOg] | Proof-of-concept code: [https://github.com/percx/Praeda]&lt;br /&gt;
&lt;br /&gt;
'''From Patched to Pwned: Attacking Xerox's  Multifunction Printers Patch Process''' ([http://foofus.net/goons/percx/Xerox_hack.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Deral Heiland&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
'''Hacking Printers for Fun and Profit'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin | Slides: [http://andreicostin.com/papers/Conf%20-%20Hack.lu%20-%202010%20-%20Luxembourg%20-%20AndreiCostin_HackingPrintersForFunAndProfit.pdf] | Video: [https://www.youtube.com/watch?v=R56ZXErKCeE]&lt;br /&gt;
&lt;br /&gt;
'''Juste une imprimant?'''&lt;br /&gt;
&amp;lt;br&amp;gt;by NBS System | Slides: [http://www.ossir.org/jssi/jssi2010/1A.pdf]&lt;br /&gt;
&lt;br /&gt;
=== 2006 ===&lt;br /&gt;
&lt;br /&gt;
'''Hacking Network Printers''' ([http://www.irongeek.com/i.php?page=security/networkprinterhacking HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Adrian Crenshaw (Irongeek)&lt;br /&gt;
&lt;br /&gt;
=== 2002 ===&lt;br /&gt;
&lt;br /&gt;
'''Understanding, Reversing, and Hacking HP Printers''' ([http://search.lores.eu/realicra/hp_slobo.htm HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Slobotron&lt;br /&gt;
&lt;br /&gt;
'''Printer Exploration (PFT and Hijetter, libPJL, ChaiPortScan, ChaiCrack)'''&lt;br /&gt;
&amp;lt;br&amp;gt;FtR of Phenoelit, FX of Phenoelit | Proof-of-concept code: [http://www.phenoelit.org/hp/index.html]&lt;/div&gt;</summary>
		<author><name>134.147.202.176</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Bibliography&amp;diff=292</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Bibliography&amp;diff=292"/>
				<updated>2017-01-30T15:51:14Z</updated>
		
		<summary type="html">&lt;p&gt;134.147.202.176: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Research by date ==&lt;br /&gt;
&lt;br /&gt;
=== 2016 ===&lt;br /&gt;
&lt;br /&gt;
'''Exploiting Network Printers:  A Survey of Security Flaws in Laser Printers and Multi-Function Devices''' ([https://www.nds.rub.de/media/ei/arbeiten/2017/01/30/exploiting-printers.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jens Müller, Juraj Somorovsky, Vladislav Mladenov | Proof-of-concept code: [https://github.com/RUB-NDS/PRET]&lt;br /&gt;
&lt;br /&gt;
'''PWN Xerox Printers (...again):  About Hardware Attacks and Insecure Cloning''' ([https://www.fkie.fraunhofer.de/content/dam/fkie/de/documents/xerox_phaser_6700_white_paper.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Peter Weidenbach, Raphael Ernst&lt;br /&gt;
&lt;br /&gt;
=== 2014 ===&lt;br /&gt;
&lt;br /&gt;
'''A Large-Scale Analysis of the Security of Embedded Firmwares''' ([https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-costin.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin, Jonas Zaddach, Aurélien Francillon, and Davide Balzarotti | Video: [https://www.youtube.com/watch?v=5gf6mFz1rPM]&lt;br /&gt;
&lt;br /&gt;
'''Hacking Canon Pixma Printers - Doomed Encryption''' ([http://www.contextis.com/resources/blog/hacking-canon-pixma-printers-doomed-encryption/ HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Michael Jordon&lt;br /&gt;
&lt;br /&gt;
=== 2013 ===&lt;br /&gt;
&lt;br /&gt;
'''Embedded Devices Security and Firmware Reverse Engineering''' ([http://s3.eurecom.fr/docs/bh13us_zaddach.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jonas Zaddach, Andrei Costin&lt;br /&gt;
&lt;br /&gt;
'''Research Report on the Security of MFPs''' ([https://www.ipa.go.jp/security/jisec/apdx/documents/20130312report_E.pdf])&lt;br /&gt;
&amp;lt;br&amp;gt;by IPA Information-technology Promotion Agency, Japan&lt;br /&gt;
&lt;br /&gt;
=== 2012 ===&lt;br /&gt;
&lt;br /&gt;
'''PostScript: Danger Ahead?!'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin | Slides: [https://infocon.org/cons/Hack%20In%20Paris/Hack%20In%20Paris%202012/Slides/Andrei-PostScript%20Danger%20Ahead.pdf] | Video: [https://www.youtube.com/watch?v=ygcs0m5C9ZI]&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
&lt;br /&gt;
'''Print Me If You Dare: Firmware Modification Attacks and the Rise of Printer Malware'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Ang Cui, Salvatore Stolfo | Slides: [http://ids.cs.columbia.edu/sites/default/files/CuiPrintMeIfYouDare.pdf] | Video: [https://www.youtube.com/watch?v=njVv7J2azY8]&lt;br /&gt;
&lt;br /&gt;
'''Printers gone Wild (PrintFS PJL filesystem)'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Ben Smith | Video: [http://www.securitytube.net/video/1395] | Proof-of-concept code: [http://www.remote-exploit.org/articles/printfs/index.html]&lt;br /&gt;
&lt;br /&gt;
'''From Printer to Pwnd: Leveraging Multifunction Printers During Penetration Testing'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Deral Heiland | Slides: [http://foofus.net/goons/percx/defcon/P2PWND.pdf] | Video: [https://www.youtube.com/watch?v=PH4pTCmKgOg] | Proof-of-concept code: [https://github.com/percx/Praeda]&lt;br /&gt;
&lt;br /&gt;
'''From Patched to Pwned: Attacking Xerox's  Multifunction Printers Patch Process''' ([http://foofus.net/goons/percx/Xerox_hack.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Deral Heiland&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
'''Hacking Printers for Fun and Profit'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin | Slides: [http://andreicostin.com/papers/Conf%20-%20Hack.lu%20-%202010%20-%20Luxembourg%20-%20AndreiCostin_HackingPrintersForFunAndProfit.pdf] | Video: [https://www.youtube.com/watch?v=R56ZXErKCeE]&lt;br /&gt;
&lt;br /&gt;
'''Juste une imprimant?'''&lt;br /&gt;
&amp;lt;br&amp;gt;by NBS System | Slides: [http://www.ossir.org/jssi/jssi2010/1A.pdf]&lt;br /&gt;
&lt;br /&gt;
=== 2006 ===&lt;br /&gt;
&lt;br /&gt;
'''Hacking Network Printers''' ([http://www.irongeek.com/i.php?page=security/networkprinterhacking HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Adrian Crenshaw (Irongeek)&lt;br /&gt;
&lt;br /&gt;
=== 2002 ===&lt;br /&gt;
&lt;br /&gt;
'''Understanding, Reversing, and Hacking HP Printers''' ([http://search.lores.eu/realicra/hp_slobo.htm HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Slobotron&lt;br /&gt;
&lt;br /&gt;
'''Printer Exploration (PFT and Hijetter, libPJL, ChaiPortScan, ChaiCrack)'''&lt;br /&gt;
&amp;lt;br&amp;gt;FtR of Phenoelit, FX of Phenoelit | Proof-of-concept code: [http://www.phenoelit.org/hp/index.html]&lt;/div&gt;</summary>
		<author><name>134.147.202.176</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Cross-site_printing&amp;diff=291</id>
		<title>Cross-site printing</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Cross-site_printing&amp;diff=291"/>
				<updated>2017-01-30T13:01:33Z</updated>
		
		<summary type="html">&lt;p&gt;134.147.202.176: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cross-site printing (XSP) attacks empower a web attacker to access the printer device as demonstrated by &amp;lt;ref&amp;gt;''[http://helpnetsecurity.com/dl/articles/CrossSitePrinting.pdf Cross Site Printing]'', A. Weaver, 2007&amp;lt;/ref&amp;gt; who use a hidden Iframe to send HTTP POST requests to port 9100/tcp of a printer within the victim's internal network. The HTTP header is either printed as plain text or discarded based on the printer's settings. The POST data however can contain arbitrary print jobs like [[PostScript]] or [[PJL]] commands to be interpreted. In the following, the idea of cross-site printing is adapted and improved which enables a web attacker to perform most attacks described in wiki obtaining captured print jobs, using the victim's web browser acts as a carrier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:XSP-deployment-channel.png|420px|Deployment of (potentially malicious) print jobs with XSP]]&lt;br /&gt;
&lt;br /&gt;
== Enhanced cross-site printing ==&lt;br /&gt;
&lt;br /&gt;
Instead of Iframes, we use XMLHttpRequest (XHR) JavaScript objects as defined in &amp;lt;ref&amp;gt;''[https://www.w3.org/TR/XMLHttpRequest/ The XMLHttpRequest Object]'', A. van Kesteren and D. Jackson, W3C, Working Draft, 2007&amp;lt;/ref&amp;gt; to perform HTTP POST requests to internal printers. A limitation of the cross-site printing approach discussed so far is that data can only be send to the device, not received because of the same-origin policy &amp;lt;ref&amp;gt;''[https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy The Same Origin Policy]'', J. Ruderman, 2001&amp;lt;/ref&amp;gt;. This opts out all information disclosure attacks. To bend the restrictions of the same-origin policy, cross-origin resource sharing (CORS) &amp;lt;ref&amp;gt;''[https://www.w3.org/TR/cors/ Cross-Origin Resource Sharing]'', A. van Kesteren and others, W3C, Working Draft, 2010&amp;lt;/ref&amp;gt; can be used – if the web server explicitly allows it by sending a special HTTP header field. In the scenario of cross-site printing, however, we have full control of what the requested ‘web server’ – which actually is a printer [https://en.wikipedia.org/wiki/Raster_image_processor RIP] accessed over port 9100/tcp – sends back to the browser. By using PostScript output commands we can simply emulate an HTTP server running on port 9100/tcp and define our own HTTP header to be responded – including arbitrary CORS &amp;lt;code&amp;gt;Access-Control-Allow-Origin&amp;lt;/code&amp;gt; fields which instruct the web browser to allow JavaScript access to this resource and therefore punch a hole into the same-origin policy. A schematic overview of the attack is given below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cross-site-printing.png|900px|Advanced cross-site printing with CORS spoofing]]&lt;br /&gt;
&lt;br /&gt;
In such an enhanced variant of XSP – combined with CORS spoofing – a web attacker has full access to the HTTP response which allows her to extract arbitrary information like captured print jobs from the printer device. A proof-of-concept JavaScript snipplet is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=postscript&amp;gt;&lt;br /&gt;
job = &amp;quot;\x1B%-12345X\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;%!\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(HTTP/1.0 200 OK\\n) print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(Server: PostScript HTTPD\\n) print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(Access-Control-Allow-Origin: *\\n) print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(Connection: close\\n) print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(Content-Length: ) print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;product dup length dup string cvs print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(\\n\\n) print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;print\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;(\\n) print flush\r\n&amp;quot;&lt;br /&gt;
    + &amp;quot;\x1B%-12345X\r\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var x = new XMLHttpRequest();&lt;br /&gt;
x.open(&amp;quot;POST&amp;quot;, &amp;quot;http://printer:9100&amp;quot;);&lt;br /&gt;
x.send(job);&lt;br /&gt;
x.onreadystatechange = function() {&lt;br /&gt;
  if (x.readyState == 4)&lt;br /&gt;
    alert(x.responseText);&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations of cross-site printing ==&lt;br /&gt;
&lt;br /&gt;
Note that [[PCL]] as page description language is not applicable for CORS spoofing because it only allows one single number to be echoed. [[PJL]] likewise cannot be used because unfortunately it prepends &amp;lt;code&amp;gt;@PJL ECHO&amp;lt;/code&amp;gt; to all echoed strings, which makes it impossible to simulate a valid HTTP header. This however does not mean that enhanced XSP attacks are limited to [[PostScript]] jobs: PostScript can be used to respond with a spoofed HTTP header and the [[UEL]] can further be invoked to switch the printer language. This way a web attacker can also obtain the results for PJL commands. Two implementation pitfalls exist which deserve to be mentioned: First, a correct &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; for the data to be responded needs determined with PostScript. If the attacker cannot predict the overall size of the response and chunked encoding as well is not an option, she needs to set a very high value and use padding. Second, adding the &amp;lt;code&amp;gt;Connection: close&amp;lt;/code&amp;gt; header field is important, otherwise HTTP/1.1 connections are kept alive until either the web client or the printer device triggers a timeout, which means the printer will not be accessible for some time.&lt;br /&gt;
&lt;br /&gt;
If the printer device supports plain text printing the HTTP request header of the XHR is printed out as hard copy – including the &amp;lt;code&amp;gt;Origin&amp;lt;/code&amp;gt; header field containing the URL that invoked the malicious JavaScript, thus making it hard for an attacker to stay silent. This is unavoidable, as we do not gain control over the printer – and under some circumstances can disable printing functionality – until the HTTP body is processed and the HTTP header has already been interpreted as plain text by the printer device. If reducing noise is a priority, the attacker can however try to first disable printing functionality with proprietary PJL commands as proposed in [[Document processing#PJL_jobmedia|PJL jobmedia]] using other potential XSP channels like IPP, LPD, FTP or the printer's embedded web server. While all protocols could successfully be tested to deploy print jobs using variants of cross-protocol scripting as described by &amp;lt;ref&amp;gt;''[http://www.remote.org/jochen/sec/hfpa/hfpa.pdf The HTML Form Protocol Attack]'', J. Topf, BugTraq posting, 2001&amp;lt;/ref&amp;gt; and &amp;lt;ref&amp;gt;''[https://www.nccgroup.trust/globalassets/our-research/uk/whitepapers/inter-protocol_exploitation.pdf Inter-Protocol Exploitation]'', W. Alcorn, NGSSoftware Insight Security Research (NISR), 2007&amp;lt;/ref&amp;gt; they have some drawbacks beyond not providing feedback using spoofed CORS headers:&lt;br /&gt;
&lt;br /&gt;
* Cross-protocol access to LPD and FTP ports is blocked by various web browsers&lt;br /&gt;
* Parameters for direct printing over the embedded web server are model-specific&lt;br /&gt;
* The IPP standard requires the &amp;lt;code&amp;gt;Content-type&amp;lt;/code&amp;gt; for HTTP POST requests being set to &amp;lt;code&amp;gt;application/ipp&amp;lt;/code&amp;gt; &amp;lt;ref&amp;gt;''[https://tools.ietf.org/html/rfc2910 RFC2910 – Internet Printing Protocol/1.1: Encoding and Transport]'', R. Herriot, 2000&amp;lt;/ref&amp;gt; which cannot be done with XHR objects – it is however up to the implementation to actually care about incorrect types&lt;br /&gt;
&lt;br /&gt;
A comparison of cross-site printing channels is given in below:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel !! No Feedback !! Unsolicited printouts !! Standardized !! Blocked by&lt;br /&gt;
|-&lt;br /&gt;
| Raw    || -           || ✔                     || ✔            || -&lt;br /&gt;
|-&lt;br /&gt;
| Web    || ✔           || -                     || -            || -&lt;br /&gt;
|-&lt;br /&gt;
| IPP    || ✔           || -                     || ✔            || -&lt;br /&gt;
|-&lt;br /&gt;
| LPD    || ✔           || -                     || ✔&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | FF, Ch, Op&lt;br /&gt;
|-&lt;br /&gt;
| FTP    || ✔           || -                     || ✔&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | FF, Ch, Op, IE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
One major problem of XSP is to find out the correct address or hostname of the printer. Our approach is to abuse WebRTC &amp;lt;ref&amp;gt;''[https://www.w3.org/TR/webrtc/ WebRTC 1.0: Real-time Communication Between Browsers]'', D. Bergkvist and D. Burnett and C. Jennings, W3C, Working Draft, 2014&amp;lt;/ref&amp;gt; which is implemented in most modern browsers and has the feature to enumerate IP addresses for local network interfaces. Given the local IP address, XHR objects are further used to open connections to port 9100/tcp for all 253 remaining addresses to retrieve the printer product name using PostScript and CORS spoofing which only takes seconds in our tests. If the printer is on the same subnet as the victim's host its address can be detected solely using JavaScript. WebRTC is in development for Safari and supported by current versions of Firefox, Chrome and Microsoft Edge. Internet Explorer has no WebRTC support, but VBScript and Java can likewise be used to leak the local IP address. If the address of the local interface cannot be retrieved, we apply an intelligent brute-force approach: We try to connect to port 80 of the victim's router using XHR objects. For this, a list of 115 default router addresses from various Internet-accessible resources was compiled. If a router is accessible, we scan the subnet for printers as described before.&lt;br /&gt;
&lt;br /&gt;
== Proof-of-concept ==&lt;br /&gt;
&lt;br /&gt;
A proof-of-concept implementation demonstrating that advanced cross-site printing attacks are practical and a real-world threat to companies and institutions is available at [http://hacking-printers.net/xsp/ hacking-printers.net/xsp/]. It was successfully tested on Firefox 48, Chrome 52, Opera 39 and Internet Explorer 10. It is worth noting that the [https://torproject.org/projects/torbrowser.html.en Tor Browser] blocks the attack because it tries to connect to all addresses – including local ones – through the Tor network meaning XSP requests never reach the intranet printer.&lt;br /&gt;
&lt;br /&gt;
→ ''Related aricles:'' [[Fundamentals#High-level_overview|Fundamentals]], [[Attack carriers]], [[Port 9100 printing]], [[BeEF]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>134.147.202.176</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=PFT&amp;diff=90</id>
		<title>PFT</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=PFT&amp;diff=90"/>
				<updated>2017-01-09T18:36:41Z</updated>
		
		<summary type="html">&lt;p&gt;134.147.202.176: Created page with &amp;quot;While printer manufacturers added various proprietary featured to PostScript and PJL, their standards -- and in particular the possibility to access the file system -- date ba...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While printer manufacturers added various proprietary featured to PostScript and PJL, their standards -- and in particular the possibility to access the file system -- date back to the 80s \cite{press1985postscript} and 90s \cite{hp1997pjl}. For PJL, this issue has first been demonstrated by \cite{phenoelit2002embedded} who wrote the ''PFT and Hijetter''\footnote{FtR of Phenoelit, \textit{PFT and Hijetter}, \url{http://www.phenoelit.org/hp/}, Jun. 2016} programs to perform file operations on HP LaserJets using legitimate PJL commands which heavily inspired [[PRET]].&lt;br /&gt;
&lt;br /&gt;
tbd: a&lt;br /&gt;
&lt;br /&gt;
The Hijetter gives you the opportunity to explore printers via their PJL interface. This includes access to the environment variables the file system and the display of the target. You might play around with these elements in order to improve or decrease the performance and usability of a printer.&lt;br /&gt;
This was the first attempt of a Perl coder to use VC++.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
crack the password,&lt;br /&gt;
dump and set PJL environment variables&lt;br /&gt;
&lt;br /&gt;
 pft Printer Job Language library and tool&lt;br /&gt;
&lt;br /&gt;
http://m.blog.csdn.net/article/details?id=46874173&lt;/div&gt;</summary>
		<author><name>134.147.202.176</name></author>	</entry>

	</feed>