一、说明

在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. BZOJ 3745: [Coci2015]Norma(分治)

    题意 给定一个正整数序列 \(a_1, a_2, \cdots, a_n\) ,求 \[ \sum_{i=1}^{n} \sum_{j=i}^{n} (j - i + 1) \min(a_i,a_{i ...

  2. 自学Aruba3.2-Aruba配置架构-Virtual AP配置要点

    点击返回:自学Aruba之路 自学Aruba3.2-Aruba配置架构-Virtual AP配置要点  1. AP.AP-Group和Virtual-AP的关系 解析列举:      AP1.AP3, ...

  3. JavaScript 获得 坐标

    <!DOCTYPE html> <html> <head> <title>location</title> <meta http-eq ...

  4. 学习Spring Boot:(二十八)Spring Security 权限认证

    前言 主要实现 Spring Security 的安全认证,结合 RESTful API 的风格,使用无状态的环境. 主要实现是通过请求的 URL ,通过过滤器来做不同的授权策略操作,为该请求提供某个 ...

  5. 学习Spring Boot:(二十二)使用 AOP

    前言 AOP 1,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.基于AOP实现的功能不会破坏原来程序逻辑,因此它可以很好的对业务逻辑的各个部分进行隔离,从而使得业 ...

  6. js的==和===练习

    今天检查了一下JS的== 和===的区别 如下: 表达式                              值 1==true  true 1===true  false 0==false t ...

  7. hdu 1114Piggy-Bank(完全背包)

    传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 参考资料: [1]:https://www.cnblogs.com/jbelial/ar ...

  8. 题解【bzoj4650 [NOI2016]优秀的拆分】

    Description 求对每一个连续字串将它切割成形如 AABB 的形式的方案数之和 Solution 显然 AABB 是由两个 AA 串拼起来的 考虑维护两个数组 a[i] 和 b[i] ,其中 ...

  9. (递推 大整数) Children’s Queue hdu1297

    Children’s Queue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...