【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
【Python】JBOSS-JMX-EJB-InvokerServlet批量检测工具的更多相关文章
- 基于Python实现的死链接自动化检测工具
基于Python实现的死链接自动化检测工具 by:授客 QQ:1033553122 测试环境: win7 python 3.3.2 chardet 2.3.0 脚本作用: 检测系统中访问异常(请求 ...
- Bash漏洞批量检测工具与修复方案
<img src="http://image.3001.net/images/20140928/14118931103311.jpg!small" t ...
- [POC]微软3389远程漏洞CVE-2019-0708批量检测工具
0x001 Win下检测 https://github.com/robertdavidgraham/rdpscan C:\Users\K8team\Desktop\rdpscan-master\vs1 ...
- s2-045漏洞批量检测工具
今天晚上看老铁们在群里就这个st2-045漏洞讨论得火热,个人不太喜欢日站,本来想直接写个批量挂马的东西,但是想想还是算了,如果你有兴趣,改改也很容易,反正不关我的事 测试图 2017-3-8更新 增 ...
- python+jinja2实现接口数据批量生成工具
在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢. 答案是肯定的! ...
- 微软3389远程漏洞CVE-2019-0708批量检测工具
0x001 Win下检测 https://github.com/robertdavidgraham/rdpscan C:\Users\K8team\Desktop\rdpscan-master\vs1 ...
- 基于Python的邮件检测工具
邮件快速检测工具 概要介绍 mmpi,是一款使用python实现的开源邮件快速检测工具库,基于community框架设计开发.mmpi支持对邮件头.邮件正文.邮件附件的解析检测,并输出json检测报告 ...
- weblogic 反序列化补丁绕过漏洞的一个批量检测shell脚本(CVE-2017-3248 )
~ 以下内容,仅供学习参考 ~ weblogic 反序列化补丁绕过漏洞已经出了两个月了,balabala ~~~ 废话不说,拿到该漏洞的利用工具weblogic.jar,但只能一个个检测ip和端口,效 ...
- Python批量检测服务器端口可用性与Socket函数使用
socket函数 简述 socket又称套间字或者插口,是网络通信中必不可少的工具.有道是:"无socket,不网络".由于socket最早在BSD Unix上使用,而Unix/L ...
随机推荐
- 教程] 《开源框架-Afinal》之FinalHttp 01一步一脚
1.FinalHttp是什么 :FinalHttp 对 HttpClient再次封装,最简洁的就是增加了许多回调的方法,对Get 和 Post 请求进行了简化.另外一点就是FinalHttp加入线程池 ...
- unity开源移动库iTween使用完整Demo
public Vector3[] paths; // Use this for initialization void Start () { paths = ] { , , ), , , -) }; ...
- 【bzoj3680】平衡点 模拟退火
模拟退火是一种求函数最值问题的随机算法. 给定一个函数的某一初始坐标,可以拟定一个"温度"(这里主要是借用退火的物理意义),这里的温度可以理解成自变量可以取值的范围.之后在当前最优 ...
- C#反射遍历/查询类中的属性以及值
遍历一个类/或类对象的属性/值,很有用,看个例子 using System; using System.Collections.Generic; using System.Linq; using Sy ...
- (转)Maven仓库——私服介绍
背景:对Maven私服一直想做个深入的总结,因为不了解,所以感觉很陌生. 转载地址:http://blog.csdn.net/catoop/article/details/62312477 常用功能和 ...
- code::Blocks生成的dll 在 java jni 调用遇到的问题
Test.java__________________________________ public class Test{ public static native void p(); pub ...
- 描述符__get__(),__set__(),__delete__()(三十七)
http://www.cnblogs.com/linhaifeng/articles/6204014.html#_label12 描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了__ ...
- 初探typescript
学习任何知识都不是一蹴而就的.typescript也是如此.今天我们来初步的了解一下typescript的安装与编译.以及基础的语法知识. 第一步:安装ts 第二步:在安装好的文件夹里面,写上ts文件 ...
- theano使用
一 theano内置数据类型 只有thenao.shared()类型才有get_value()成员函数(返回numpy.ndarray)? 1. 惯常处理 x = T.matrix('x') # t ...
- 多目标遗传算法 ------ NSGA-II (部分源码解析)二元锦标赛选择 tourselect.c
tourselect.c 文件中共有两个函数: selection (population *old_pop, population *new_pop) individual* tournament ...