jimdixx/Digital-Archiving-Solutions-RCE-PoC

GitHub: jimdixx/Digital-Archiving-Solutions-RCE-PoC

针对LPD服务器中Shell命令注入漏洞的CTF专用概念验证利用程序,通过构造特殊的作业名称字段实现远程代码执行。

Stars: 0 | Forks: 0

# LPD Server — Shell 注入漏洞利用 (RFC 1179) ## 免责声明 本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他行为中,由本软件或本软件的使用或其他交易引起或与之相关。 作者对使用此概念验证代码造成的任何损害或伤害概不负责。 此漏洞利用程序专为针对“CORPORATE DIGITAL ARCHIVING SOLUTIONS v1.02” CTF 模拟靶机的夺旗赛(CTF)目的而创建。 请勿对任何您未获得明确书面授权的系统使用此代码。未经授权访问计算机系统是违法的。 ## 概述 这是一个针对基于 Python 的 LPD (Line Printer Daemon) 服务器中远程代码执行(RCE)漏洞的概念验证漏洞利用程序,该服务器实现了 RFC 1179 协议的简化版本。 该漏洞存在于服务器使用 `subprocess.Popen(shell=True)` 处理来自 LPD 控制文件中 `J`(作业名称)字段的未经清洗的用户输入的过程中。通过在作业名称中注入 shell 元字符,攻击者可以跳出封闭的引号,并在目标主机上执行任意操作系统命令。 此外,远程服务器强制执行轻量级的“遗留接收处理程序”验证,要求作业名称必须以有效的归档标识符开头。此漏洞利用程序会在发送注入 payload 之前,预先添加一个可配置的标识符以满足该检查。 ## 漏洞详情 **受影响软件:** Corporate Digital Archiving Solutions v1.02 **漏洞类型:** CWE-78 — 操作系统命令中使用的特殊元素处理不当(操作系统命令注入) **易受攻击的代码:** ``` subprocess.Popen(f"echo 'Archive: {job_name}' >> /tmp/archive.log", shell=True) ``` ## 使用方法 1. 在您的攻击机上运行:`nc -lvnp 443` 2. `python3 poc.py RHOST -q TARGET_QUEUE -c 'COMMAND'`
标签:逆向工具