【Python】JBOSS-JMX-EJB-InvokerServlet批量检测工具
一、说明
在JBoss服务器上部署web应用程序,有很多不同的方式,诸如:JMX Console、Remote Method Invocation(RMI)、JMXInvokerServlet、HttpAdapter等。根据内网测试的需求,写了一段代码,代码逻辑看注释。
二、代码实现
读取带有IP的文本内容,如果有端口以冒号(:)分隔,那就默认将该端口当成WEB端口。如果只有IP,那么就把端口设定为默认的80。
Python代码:
#!/usr/bin/env python
# coding=utf8
######################################
## 代码补丁的少年 zzzhhh ##
## 时间:20170925 ##
## 批量查询Jboss JMXInvokerServlet ##
######################################
import httplib
import os
import sys
import re
## 读取IP
def JBossScan(weblist):
fle_context = file(weblist, 'r')
for file_index in fle_context:
file_index = file_index.strip('\n') # 去掉空行
file_index = file_index.replace('http://', '') # 去掉HTTP://
ip_context = file_index.split(':') # 以:分隔
if len(ip_context)>=2:
ip = ip_context[-2] # 取列表倒数第二
pt = ip_context[-1] # 取列表倒数第一
else:
ip = ip_context[-1] # 否则取默认IP
pt = 80 # 默认端口为80
conn = httplib.HTTPConnection(ip, port=pt, timeout=1)
try:
conn.request('HEAD', '/invoker/JMXInvokerServlet') # 探测这个路径是否存在
except:
print '[*]http://%s:%s/invoker/JMXInvokerServlet ---------------------------Timeout' % (ip, pt) # 访问不成功就提示超时
continue
res = conn.getresponse()
# HTTP状态码
if res.status == 200:
print '[*]http://%s:%s/invoker/JMXInvokerServlet ---------------------------Found' % (ip, pt)
os.system(
'echo http://%s:%s/invoker/JMXInvokerServlet ---------------------------Found >> scucsess.txt' % ( # 把访问成功的路径存储到.txt
ip, pt))
else:
print '[*]http://%s:%s/invoker/JMXInvokerServlet ---------------------------Not Found' % (ip, pt) # 没找到路径,但是开启了相关端口
fle_context.close()
if __name__ == '__main__':
try:
JBossScan(sys.argv[1]) # 参数形式
#JBossScan("D:\\ProjectCode\\PyScript\\WebUrl.txt") # 固定路径
except:
print 'usage: python jbosscan.py weblist.txt'
WebUrl.txt的内容:
192.168.1.1
192.168.17.1
http://10.1.128.203:1300
http://10.1.128.208:1300
http://10.1.128.206:1300
http://10.1.128.208:1200
http://10.1.128.206:1200
http://10.1.128.199:1200
http://10.1.128.195:1200
http://10.255.242.20:1199
http://10.255.242.24:1199
三、代码效果
四、代码下载
链接: https://pan.baidu.com/s/1nuHb1rF 密码: g6de
压缩包内容:
JBOSS-JMX-EJB-InvokerServlet批量检测工具.py --------批量扫描用
WebUrl.txt --------IP存放
01-jBoss应用服务器JMXInvokerServlet远程命令执行漏洞 --------利用工具
- jboss_exploit_fat.jar
===========================================================
一个独立安全研究员,自由职业者的知识星球《公鸡队之家》,一边研究技术,一边分享到星球,一边养活自己,我们都有一颗好为人师的心,赠人玫瑰,手留余香。星球的价格是199¥/年。希望大家赏光,加入二维码在文末。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用