心得经验总结:打印机PCL漏洞原理分析

简介: 心得经验总结:打印机PCL漏洞原理分析

0x01 漏洞概要

PCL代表打印机控制语言(Printer Control Language),由惠普公司开发,并被广泛使用的一种打印机协议。关于另一种页面描述语言//代码效果参考:http://www.zidongmutanji.com/zsjx/252845.html

,应该提一提由Adobe设计的PostScript(PS),它可以将更为复杂的事情交由绘图仪/打印机处理。PJL (Printer Job Language,打印机作业语言)作为PCL的扩展,用于指导打印机行为,比如更改设备设置、传输文件等。 若打印机的9100端口向公网开启,在//代码效果参考: http://www.zidongmutanji.com/bxxx/152356.html

向打印机发送PJL指令之前需要对使用者的身份进行认证,认证程序的密钥长度为2字节(Byte),因此可以通过暴力破解认证密钥想打印机发送PJL指令,最终导致任意命令的执行。

PJL (Printer Job Language)程序用于告诉打印机执行什么动作,是对PCL的额外支持。 //代码效果参考:http://www.zidongmutanji.com/bxxx/102222.html

PJL (Printer Job Language) 用于规范格式化页面的基本语言。本身是无害的,但却成为大多数解析器和解释器的漏洞利用代码。

0x02 漏洞原理

打印机系统9100端口开启时,若连上该端口通过PJL指令发送设备名称请求并得到打印机的响应,说明可以未授权访问打印机,PJL保护机制的密钥由2个字节(16比特)的存储单位存储,可以进行暴力破解攻击,从而得到目标打印机的完全访问权限。

根据国外安全研究员PHENOELIT 已经写好了漏洞利用程序,对其中的主要代码进行分析,得到下面的流程图

下面是破解密钥部分的代码:

在pjlsession.cpp中的230到256行

void PJLsession::blind_disable_pjl_password(unsigned int pass) {

相关文章
|
9月前
|
JavaScript 前端开发
VUE3v-text、v-html、:style的理解
VUE3v-text、v-html、:style的理解
453 2
|
3月前
|
监控 网络协议 安全
Tcpdump简直就是命令行抓包中的神!
【10月更文挑战第32天】
209 1
Tcpdump简直就是命令行抓包中的神!
|
9月前
|
Python
Python网络编程基础(Socket编程)绑定地址和端口
【4月更文挑战第9天】在UDP服务器编程中,我们首先需要创建一个UDP套接字,然后绑定一个本地地址和端口,以便客户端可以通过这个地址和端口与我们的服务器进行通信。下面,我们将详细讲解如何绑定地址和端口。
|
存储 Linux 网络安全
如何使用iptables在Linux中进行流量转发?
如何使用iptables在Linux中进行流量转发?
1546 0
如何使用iptables在Linux中进行流量转发?
|
供应链 安全 IDE
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
542 0
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
|
JavaScript
【Discuz】如何实现自动注册登录
【Discuz】如何实现自动注册登录
553 0
【Discuz】如何实现自动注册登录
|
安全 Linux Web App开发
Chromium的沙盒Sandbox
代码位置: http://src.chromium.org/viewvc/chrome/trunk/src/sandbox/ Android使用和Linux一样的代码。
2517 0
|
9月前
|
Linux Perl
【linux】awk用法:在每行新增额外字符串
【linux】awk用法:在每行新增额外字符串
293 0
|
监控 虚拟化 Windows
Win10运行VMware虚拟机时蓝屏问题
Win10运行VMware虚拟机时蓝屏问题的解决办法
873 0
Win10运行VMware虚拟机时蓝屏问题

热门文章

最新文章