首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞

比如,在开场黑底白字上写着“世界上有数以亿计的商业打印机,只有不到2%是安全的”,从这里开始,视频中的“狼”执行了一系列不太可能的攻击,利用不安全的打印机以获取公司网络和敏感数据,显而易见是指惠普打印机不会受到这些攻击...以下问题是在PRET工具包中发现的: 目录穿越 - 远程存储的打印作业泄漏 PRET工具包有三种模式,每种模式都指定工具包将尝试与打印机通信的“语言”。...每种模式都有一组不同的常见漏洞,和一些常见的问题。PJL是计算机允许打印作业时与打印机通信的语言,这种语言也被扩展为具有执行一些管理任务的能力。...这可以利用一个鲜为人知但惠普默认启用的功能下实现,这个功能允许打印机在启动时通过DHCP或BOOTP服务器重新配置。...每次打印机启动,当从DHCP服务器获得IP地址时,它也会在DHCP响应中查找一些特殊的配置选项。其中一个选项指定了一个TFTP服务器,打印机可以检索应用各种配置设置的配置文件。

1.9K80

披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞

比如,在开场黑底白字上写着“世界上有数以亿计的商业打印机,只有不到2%是安全的”,从这里开始,视频中的“狼”执行了一系列不太可能的攻击,利用不安全的打印机以获取公司网络和敏感数据,显而易见是指惠普打印机不会受到这些攻击...以下问题是在PRET工具包中发现的: 目录穿越 - 远程存储的打印作业泄露 PRET工具包有三种模式,每种模式都指定工具包将尝试与打印机通信的“语言”。...每种模式都有一组不同的常见漏洞,和一些常见的问题。PJL是计算机允许打印作业时与打印机通信的语言,这种语言也被扩展为具有执行一些管理任务的能力。...这可以利用一个鲜为人知但惠普默认启用的功能下实现,这个功能允许打印机在启动时通过DHCP或BOOTP服务器重新配置。...每次打印机启动,当从DHCP服务器获得IP地址时,它也会在DHCP响应中查找一些特殊的配置选项。其中一个选项指定了一个TFTP服务器,打印机可以检索应用各种配置设置的配置文件。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    NullReferenceException,就不应该存在!

    于是,当从异常日志准备分析异常原因的时候,只能猜,猜到底为 null 的是谁! 另外,NullReferenceException 异常发生的地方一定不是真正出错的地方!...因为我们尝试去调用某个属性或方法时假设了它不为 null,这意味着它为 null 就是个错误。但是,从异常的调用栈中我们却找不到任何痕迹能够告诉我们是哪里给它设置成了 null(或者是从未赋值过)。...InvalidOperationException 是个不错的方案,它的默认异常提示语是“对象当前的状态使得该操作无效”。...当程序此时此刻的状态让我们获取不到某个数据致使数据为 null 时,可以写一个新的提示语告知此时到底是什么样的状态错误才使得获取到的数据为 null。...所以,为了解决这些困惑,我建议在开发中以如下方式对待我们的 null: 对任何可被外部模块调用的方法的参数进行 null 判断,并在参数为 null 时抛出 ArgumentNullException。

    1.1K10

    了解这15条命令,你将掌握 Linux 文件传输的所有内容

    语法 lpq [l] [P] [user] 参数说明: -P 指定一个打印机,否则使用默认打印机或环境变量PRINTER指定的打印机 -l 打印组成作业的所有文件的信息。。...实例 为系统默认的打印机printer的一个空队列。 如果事先并未指定打印机(使用-P选项),系统便会显示默认的打印机。如果向打印机发送打印任务,然后查看打印队列,便会看到如下列表。...lpr 和 lpd 组成了一个可以离线工作的系统,当你使用 lpr 时,打印机不需要能立即可用,甚至不用存在。 lpd 会自动监视打印机的状况,当打印机上线后,便立即将档案送交处理。...-z或--try-next 当执行不成功时,尝试下一个选择而不结束程序。 --help 显示帮助,并且结束程序。 实例 使用主动模式启动uucico服务。...当不指定用户名时,ncftp 命令会自动尝试使用匿名账户anonymous 去连接远程FTP 服 务器,不需要用户输入账号和密码。

    1.9K80

    利用PRET控制远程打印机测试

    这使得该工具可以通过这些打印机语言进行捕获或者操作打印作业,访问打印机文件系统和内存甚至造成物理层面上的破坏。.../pret.py时,pret会自动通过SNMP协议寻找可能的打印机。 ?...可选参数: —safe 检查IPP,HTTP,SNMP,{PS、PCL、PJL}的可用性,方便进行除9100端口的其他渗透,如对打印机进行web渗透(大多数的打印机web管理端都是无口令和弱口令的,所以可以轻松的进行读取打印作业或者进行远程管理...—load filename 从文本文件中读取并执行pret命令,实现脚本自动化。 —log filename 将打印机的原始数据流写入目标文件。...Mirror: 直接将打印机中的所有文件拷贝的本地,方便进一步的分析,寻找如打印记录的文件。 Destroy: 十分危险的功能,尝试的时候应当慎用,对打印机的NVRAM(一种RAM)造成物理性损坏。

    2.6K30

    SpoolFool:Windows Print Spooler 权限提升 (CVE-2022-21999)

    打印管理包括检索正确打印机驱动程序的位置、加载该驱动程序、将高级函数调用假脱机到打印作业、调度打印作业以进行打印,等等。后台处理程序在系统启动时加载并继续运行,直到操作系统关闭。...本地打印提供商 本地打印提供商为通过本地打印提供商的端口监视器访问的所有打印机提供作业控制和打印机管理功能。 下图提供了当应用程序创建打印作业时本地打印机提供商组件之间的控制流视图。...当用户打印文档时,打印作业被假脱机到称为“假脱机目录”的预定义位置。假脱机目录可在每台打印机上配置,并且它必须允许FILE_ADD_FILE所有用户的权限。...如果当前用户无权打开具有PRINTER_ACCESS_ADMINISTER访问权限的现有打印机,则有两种选择: 用户可以创建新的本地打印机 用户可以添加远程打印机 默认情况下,INTERACTIVE组中的用户具有...默认情况下,Spooler 服务将在前两次“崩溃”时重新启动,但不会在后续失败时重新启动。 要终止服务,我们可以使用localspl.dll!

    2.1K30

    HP打印机维修资料大全(续)

    如果该信息持续显示,请与HP授权的服务或支持提供者联系。 40 BAD SERIAL TRANSMISSION与PRESS GO TO CONTINUE交替出现 打印机从计算机传输数据时发生错误。...该错误可能由多种原因导致:打印机在线时计算机开机或关机。网络发生问题(如果适用的话)。打印机的波特率或奇偶校验与计算机的不一致。(波特率告诉打印机信息从计算机传到打印机的速率。)...出错信息可能被清除,然后在传送下个打印作业时又出现。如果该信息持续出现,请与HP授权的服务或支持提供者联系。 51.x or 52.x PRINTER ERROR 发生了暂时打印错误。按[执行]键。...68 NVRAM ERROR CHECK SETTINGS 打印机的非易失性内存(NVRAM)出错,一项或多项打印机设置被重新设置成厂家默认值。打印配置页,检查打印机设置,已确定被更改的值。...68 NVRAM FULL CHECK SETTINGS 打印机的非易失性内存(NVRAM)已满。一些设置可能被重新设置成厂家的默认值。打印配置页,检查打印机设置,以确定被更改的值。

    1.2K20

    快递100接口请求格式错误解决方法(2)

    如何获取顺丰丰密面单的账号参数,如月结账号、顾客编码、校验码等?...申请开票消费金额需满100元;默认开具电子增值税普通发票,消费1000元以上可支持开具增值税专用发票; 普票以电子版形式发到注册时填写的邮箱,三个工作日内开出;专票是纸质寄出,15个工作日内开出(不包括邮寄时间...解决方法: 1、胶辊、打印头传感器的位置用酒精清洁一下。 2、校准纸张,长按打印机按键5秒,指示灯闪烁两次,松手,打印机进入纸张校准模式。...云打印机正常联网之后,长按按键3秒,LED闪烁一次,打印出一张打印机设备码。 如何校准纸张? 云打印机正常通电之后,长按按键5秒,LED闪烁两次,云打印机进行校准功能。 如何暂停打印作业?...打印机在打印中,单击按键会打印暂停。此时电源指示灯呈蓝色闪烁。只要再单击按键,打印作业就回复正常。

    1.9K00

    C#常用 API函数大全

    它也会为作业分配一个作业编号 AddMonitor 为系统添加一个打印机监视器 AddPort 启动“添加端口”对话框,允许用户在系统可用端口列表中加入一个新端口 AddPrinter 在系统中添加一台新打印机...,以便打印下一个页 EndPagePrinter 指定一个页在打印作业中的结尾 EnumForms 枚举一台打印机可用的表单 EnumJobs 枚举打印队列中的作业 EnumMonitors...,并获取打印机的句柄 PrinterMessageBox 在拥有指定打印作业的系统上显示一个打印机出错消息框 PrinterProperties 启动打印机属性对话框,以便对打印机进行配置...ReadPrinter 从打印机读入数据 ResetDC 重设一个设备场景 ResetPrinter 改变指定打印机的默认数据类型及文档设置 ScheduleJob 提交一个要打印的作业...StartPagePrinter 在打印作业中指定一个新页的开始 WritePrinter 将发送目录中的数据写入打印机 5.

    2.4K41

    打印机安全研究(一):不容乐观的网络打印机安全状况

    研究背景 打印语言是控制打印机工作的一个命令集,它告诉打印机如何组织被打印的文档,在打印机语言的控制下,从计算机传来的打印数据被转化成可供打印的文字和图像,最终被打印机识别并输出出来。...作业控制语言 该命令集语言一般用于管理置纸托盘和纸张数量等打印机设置状态,其中比较标准的作业控制语言则是PJL,与PCL不同的是,PJL提供了不同类别的任务级别的控制。...攻击测试 从网络攻击角度来说,打印机算是一个重要且有价值的攻击目标,但打印机的安全和威胁技术研究却非常之少。...打印任务获取:只要打印机使用PostScript命令,攻击者就可以通过其获取到打印任务。...;大多数打印机都可执行打印任务控制或获取的攻击。

    2.7K50

    Spread for Windows Forms高级主题(7)---自定义打印的外观

    当你执行打印操作时,你将一个特定的表单发送给使用这些设置的打印机。如果你想为不同的表单使用不同的打印设置,那么你可能需要重置PrintInfo对象,然后在表单打印的间隔内做必要的修改。...Images 获取或设置可在自定义页眉或页脚中使用的图片列表。 JobName 获取或设置打印作业的名称。 Margin 获取或设置打印的页面空白。...Opacity 获取或设置打印表单时所使用的不透明度; 它可以用来首先打印一个水印,然后再打印表单的内容。 Orientation 获取或设置打印时的页面方向。...fpSpread1.PrintSheet(0); 自定义打印作业设置 如果你没有指定其他打印机的话,表单会使用你的Windows系统环境中当前的默认打印机进行打印。...你可以在任意支持Windows的打印机上打印表单。 你可以自定义的打印作业设置项包括打印机、纸张来源、以及纸张大小。

    3.6K70

    打印显示服务器脱机win10,如何在Win10中将打印机状态从脱机更改为联机

    因此,让我们对其进行修复: –重新启动打印机并检查连接性 –更改打印机状态 –运行打印机疑难解答 –删除并添加打印机 –网络打印机故障排除。 尝试每个之后,请务必检查状态。...它将显示一条消息,“此操作会将打印机从脱机更改为联机”。 –确认,打印机状态将设置为在线。 您可能必须先清除打印队列,然后才能更改状态。...如果是这种情况,则可能是因为打印作业出现问题,并选择将其设置为脱机。...–转到设置>更新和安全>疑难解答 –选择打印机疑难解答,然后运行它 –它应该可以帮助您解决打印机的离线状态 4]删除并添加打印机 如果没有其他效果,则最好从系统中删除打印机,然后重新添加。...–从计算机上拔下打印机电源 –转到设备>打印机和扫描仪 –选择要删除的打印机>单击删除设备 –重新插入打印机,Windows应再次添加它,并安装驱动程序。

    2.3K10

    C#开发人员应该知道的13件事情

    不要也不要让属性获取器抛出异常,避免修改对象状态。这样就意味着需要一种方法而不是属性获取器。...当实现泛型类型时,可以使用“default”关键字来获取那种无法硬编码到实现中的默认值。具体来说就是,数字类型的默认值为0; 引用和可空值类型的默认值为null。...例如,从对象到字符串的转换。 转换指示编译器会生成关联表达式的值的代码,如果没有生成,则会抛出异常。例如,从double到integer的转换。 两种类型转换都是很危险的。...如果你尝试访问一个空引用,以为它是一个对象的有效引用一样 - 例如,通过访问一个属性或方法,运行时将抛出一NullReferenceException异常。...从数据库表中读取数据时,请确保,缺失值可以表示为DBNull对象,而不是空引用。不要指望它们表现的像潜在的空引用。

    2.3K90

    PrintNightmare

    Print Spooler Print Spooler是管理打印过程的可执行文件。打印管理涉及检索正确打印机驱动程序的位置、加载该驱动程序、将高级函数调用假脱机到打印作业中、安排打印作业进行打印等。...后台处理程序在系统启动时加载并继续运行,直到操作系统关闭。 Print spooler 是一种管理打印过程的软件服务。后台处理程序接受来自计算机的打印作业并确保打印机资源可用。...任何经过身份验证的用户都可以远程连接到域控制器打印后台处理程序服务,并请求更新新的打印作业。...处理定向到从本地服务器管理的打印机的所有打印作业。...从微软文档中我们可以看到 print spooler 远程系统上引用或从远程系统复制和将打印机驱动程序或其他插件作为本地系统调用时的一些安全措施 https://docs.microsoft.com/en-us

    1.2K10

    披着狼皮的羊:HP打印机远程代码执行漏洞(RCE)是这样被发现的

    : 但可惜的是,这样也不能够对目录中的文件执行读写操作,其它反复的强制尝试手段又会引起打印机的崩溃和重启。...当打印机启动时,它会从DHCP服务中获取一个IP地址,也会从DHCP响应中接收一些特殊的配置选项信息,其中一个特别选项就指定了打印机可以从一个TFTP服务(简单文件传输协议)中,获取到一个包含了各种配置设置信息的配置文件...不安全的默认设置 基于上述测试启发,我们尝试在打印机中寻找是否存在一些组合的安全设置,能对上述攻击进行防护阻止,具体来说,也就是管理员如何设置才能避免内部网络的任何人有权重置管理员密码。...,通过其就可发现具体的Windows目录了: 获取/Core/bin目录内容 想获取/Core/bin目录内容似乎有点难度,当硬盘接入电脑后, /Core/bin目录是可见的,但它却是空的: 经过一番失败尝试后...打印机开发模式:在审查源代码时,我们注意到HP打印机可以进入“开发”模式。一旦启用此模式,似乎可以自由安装未签名的固件更新。

    3.5K50

    Mac 电脑如何连接富士打印机

    公司 打印机教程和驱动都是windows的,使用mac 的不管,只能自己找找。...如何在 Mac 操作系统上安装打印驱动程序 此流程包括五个部分: 检查型号名称 检查 IP 地址 在电脑上:下载打印驱动程序 在电脑上:安装打印驱动程序 在电脑上:从计算机发送打印作业 步骤 1: 检查设备型号名称...步骤 3: 下载打印驱动程序 在设备上: 您可以通过以下两种方法之一获取打印驱动程序。 从设备随附的软件/产品手册安装。 从我们的官方网站下载。...地址: 输入设备(打印机)的IP地址 通信协议: 下拉菜单中选择 行式打印机监控程序 - LPD 队列: 输入 ‘lp’ (小写字母) 名称: 输入打印机名称 使用: 如果没有自动选择正确的设备,请选择...新的驱动程序图标将出现在打印机列表中。

    4.8K30

    当 UOS AI 遇上最强开源大模型

    例如,从Deepin论坛获取了安装兄弟(Brother)打印机扫描驱动及配置文件的方法等。...如果在系统自带的打印机软件中找不到自己打印机的型号,可以尝试到OpenPrinting(由Linux Foundation提供)进行搜索或者直接前往生产厂商的官网查找驱动支持。...您可以按照上述方法尝试查找并添加打印机,如果遇到问题,可能需要使用相应的故障排查方法,或参照您提供的参考链接和其他用户的经验进行解决。...添加打印机:可以采用以下两种方式添加打印机: 通过搜索添加打印机:这是推荐的方式,可以使用IP地址等信息搜索打印机。如果在系统中自动搜索后能识别打印机,则会推荐安装默认的打印机驱动。...安装完毕,打印机管理器中就有一个新安装的打印机设备,设置为默认。 打开 WPS Office,打印一份文档,在打印机列表中就有新安装的打印设备。 至此,打印机安装完毕。

    19110

    JAVA实现调用打印机打印PDF

    JAVA实现调用打印机打印PDF,网上搜索了一大把资料,基本上都是重复。。。下面骂人的一大堆。。我这里来解决一下。 需求:前端调用用接口 后端根据模版生成数据联通打印机直接一键打印!...调用打印机驱动的我目前实验了 网上所有的方法,查了很多资料。大概摸出了两种最有效的方式。 第一种 java调用打印机:在本机安装驱动,利用java代码去调用进行打印。...代码如下: /** * 通过本机默认打印机打印pdf文件 * @param filePath 文件路径 * @throws Exception */...==================="+filePath); File file = new File(filePath); // 获取选择的文件 // 构建打印请求属性集...:==================="+printService2); // } // 定位默认的打印服务 PrintService defaultService =

    13.8K31

    有赞零售小票打印跨平台解决方案

    如何更灵活的适配多种多样的小票打印机,从连接方式上分为蓝牙连接和 WIFI 连接,从纸张样式分为 80mm 和 58mm 两种宽度。...如果连接未适配的设备抛出找不到相应打印机解析器 error。 调用对应打印机的 parser 指令解析流程 ?...1.3 兼容性问题 切纸:支持外部传入是否需要切纸,防止外部发送打印指令时加入切纸指令后重复切纸问题,默认加切纸指令。...一机多尺寸打印:存在一台打印机支持两种纸张打印( 80mm 、 58mm ),这时需要从外部传入打印尺寸,默认 80mm。比如,sunmiT1 支持 80mm 和 58mm 打印,默认是 80mm。...所以 JS 在传入数据时,做了一层过滤,将 "\\" 、 "\n" 、 "\b" ... 等字符去掉或替换,保证打印。 如果在解析过程中存在错误,将抛出异常给移动端捕获。

    1.8K20
    领券