一、说明

在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

【Python】JBOSS-JMX-EJB-InvokerServlet批量检测工具的更多相关文章

  1. 基于Python实现的死链接自动化检测工具

    基于Python实现的死链接自动化检测工具   by:授客 QQ:1033553122 测试环境: win7 python 3.3.2 chardet 2.3.0 脚本作用: 检测系统中访问异常(请求 ...

  2. Bash漏洞批量检测工具与修复方案

    <img src="http://image.3001.net/images/20140928/14118931103311.jpg!small" t ...

  3. [POC]微软3389远程漏洞CVE-2019-0708批量检测工具

    0x001 Win下检测 https://github.com/robertdavidgraham/rdpscan C:\Users\K8team\Desktop\rdpscan-master\vs1 ...

  4. s2-045漏洞批量检测工具

    今天晚上看老铁们在群里就这个st2-045漏洞讨论得火热,个人不太喜欢日站,本来想直接写个批量挂马的东西,但是想想还是算了,如果你有兴趣,改改也很容易,反正不关我的事 测试图 2017-3-8更新 增 ...

  5. python+jinja2实现接口数据批量生成工具

    在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢. 答案是肯定的! ...

  6. 微软3389远程漏洞CVE-2019-0708批量检测工具

    0x001 Win下检测 https://github.com/robertdavidgraham/rdpscan C:\Users\K8team\Desktop\rdpscan-master\vs1 ...

  7. 基于Python的邮件检测工具

    邮件快速检测工具 概要介绍 mmpi,是一款使用python实现的开源邮件快速检测工具库,基于community框架设计开发.mmpi支持对邮件头.邮件正文.邮件附件的解析检测,并输出json检测报告 ...

  8. weblogic 反序列化补丁绕过漏洞的一个批量检测shell脚本(CVE-2017-3248 )

    ~ 以下内容,仅供学习参考 ~ weblogic 反序列化补丁绕过漏洞已经出了两个月了,balabala ~~~ 废话不说,拿到该漏洞的利用工具weblogic.jar,但只能一个个检测ip和端口,效 ...

  9. Python批量检测服务器端口可用性与Socket函数使用

    socket函数 简述 socket又称套间字或者插口,是网络通信中必不可少的工具.有道是:"无socket,不网络".由于socket最早在BSD Unix上使用,而Unix/L ...

随机推荐

  1. day7 新三级菜单

    # 简单吧简单吧,用动态变量不停的改变进行遍历 menu = { "北京":{ "朝阳":{ "国贸":{ "CICC" ...

  2. tmux的使用

    tmux的使用 1: tmux的介绍     tmux是一个优秀的终端多路复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并 ...

  3. 洛谷 P10P1343 地震逃生 改错

    P1343 地震逃生 题目描述 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有\(n\)个点,\(m\)条边.1号点为教室,\ ...

  4. bzoj1003/luogu1772 物流运输 (dijkstra+dp)

    先求出某一段时间[i,j]一直用同一个路径的最短路,乘上天数,记作cost[i,j] 那就可以设f[i]是前i天的最小代价,f[i]=f[j]+cost[j+1,i]+K #include<bi ...

  5. centos6.5重新调整/home和跟目录/大小

    0. 说明 系统刚刚安装完之后,默认到/home有1.5TiB,而根分区只有200G.现在是要将VolGroup-lv_home缩小到200G,并将剩余的空间添加给VolGroup-lv_root. ...

  6. 【模板】Tarjan scc缩点

    代码如下 #include <bits/stdc++.h> using namespace std; const int maxv=1e4+10; const int maxe=1e5+1 ...

  7. 走进JVM之一 自己编译openjdk源码

    想要深入了解JVM,就必须了解其实现机制.了解JVM实现的最好方法便是自己动手编译JDK.好了,让我们开始吧! 1.  准备工作 获取OpenJDK源码 本次编译选择的是OpenJDK7u,官方源码包 ...

  8. maven install deploy tell us heap is full

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compi ...

  9. checkbox用图片替换原始样式,并实现同样的功能

    1.结构: <div class="box1"> <input/> <div class="box2"> <img / ...

  10. context configure and clock schedule

    每个窗口都有自己的context,这里演示怎么配置context以及如何实现定时器...... #-*- coding:gbk -*- import pyglet platform=pyglet.wi ...