渗透测试实战-菠菜站渗透测试(Nacos反序列化漏洞利用)_nacos jraft hessian反序列化漏洞

UL(Underwriters Laboratories)标准详解:从认证体系到落地实践 UL(美国保险商试验所)是全球知名的安全认证机构,其标准体系涵盖电气、电子、机械等领域,核心目标为保障人身安全、规范产品设计、建立市场信任。常见标准如UL 62368-1、UL 94等,广泛应用于北美市场,并被全球采纳。认证类型包括Listed、Recognized Component等,流程涵盖申请、测试、工厂检查与持续监督。关键测试项目涉及温升、耐压、防火及异常操作等。建议早期介入标准要求,优选认可元器件,预留安全裕量,避免常见误区。UL认证不仅是合规门槛,更是提升产品全球竞争力的重要保障。 阅读详情

一、信息收集

1.站点是一个正常的80端口开放的http服务使用nginx进行搭建,对其目录进行了扫描,没有得到什么能利用的信息

2.类似的站点通常会开放22或3389来进行远程维护,通过扫描端口发现了一些意外收获

该服务器开放了大量的端口,其中不止有3306、6379这种数据库服务端口、3389远程rdp端口、还存在大量http服务端口,注意到其中存在8848,可能存在nacos系统

3.通过测试大部分开放HTTP服务的端口下都没有网站,不过也是有收获,加上刚开始看到的主站共有四个登录框,其中Seata分布式事务服务系统存在弱口令,直接就登陆进去了

Seata-Server:seata/seata

可惜登录进去后什么信息也没有,之前没了解过这个系统搜索了一下,好像没有什么能利用的

4.还有另外两个站点,对象存储系统和一个类似令牌存储的站点,尝试弱口令均没有成功

minio服务器:minioadmin/minioadmin

4.之前说发现了开放了8848端口的,使用字典进行扫描,果然发现存在nacos系统,并且通过字典扫描目录未授权获取了nacos的密码

未授权访问地址:

/nacos/v1/auth/users?pageNo=1&pageSize=1

可获取已经注册过的账号和加密后的密码

二、实战环节

1.直接利用nacos漏洞扫描工具进行漏洞扫描,发现其版本为2.0.3且存在多个版本漏洞

漏洞名称: Nacos token.secret.key默认配置(QVD-2023-6271)

漏洞描述: 开源服务管理平台 Nacos 中存在身份认证绕过漏洞,在默认配置下未对 token.secret.key 进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。漏洞影响版本: 0.1.0 <= Nacos <= 2.2.0

漏洞名称: Nacos User-Agent权限绕过(CVE-2021-29441)

漏洞描述: 该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。

漏洞影响版本: Nacos <= 2.0.0-ALPHA.1

漏洞名称: Nacos Derby SQL注入漏洞 (CNVD-2020-67618)

漏洞描述: config server中有个接口,没有做任何的鉴权,即可执行sql语句,可以泄漏全部数据

漏洞影响版本: 与Nacos版本无关,看是否使用了内置的Derby数据库

漏洞修复方案: 对接口接口鉴权, 修改 nacos的application.properties配置文件nacos.core.auth.enabled=true,开启服务身份识别功能

2.利用权限绕过漏洞创建test用户登录nacos系统,查看系统配置(注意退出后清除该用户)

3.两个反序列化漏洞都需要手动测试,在测试后竟然发现该服务器存在Nacos Jraft Hessian反序列化漏洞,注入内存马后执行命令直接回显了Administrator权限

漏洞名称: Nacos Jraft Hessian反序列化漏洞(QVD-2023-13065)

漏洞描述: nacos默认的7848端口是用来处理集群模式下raft协议的通信,该端口的服务在处理部分jraft请求的时候使用hessian传输协议进行反序列化过滤不严,导致RCE

漏洞影响版本: 1.4.0 <= Nacos < 1.4.6 和 2.0.0 <= Nacos < 2.2.3

4.直接上webshell管理工具(我比较习惯用哥斯拉)利用注入的内存马进行上线

注意需要设置请求头,哥斯拉的设置为:

x-client-data: godzilla
Referer: https://www.google.com/

成功上线,利用命令查看服务进程,分析后发现好像只有windows自带的杀软

tasklist /svc 查看所有正在运行的进程及其服务信息

5.上线fscan对内网服务进行扫描,扫描后发现内网只有服务器一个地址,但是扫描出来了redis未授权访问

6.还是老套路,直接注入suo5内存马,做正向代理,访问redis数据库

成功连接redis服务器,其中存放着主站的账号,密码,ID等信息(经过测试后发现mysql数据库已经不再使用了,无法渗透)

6.到了这个时候其实已经拿下这个站点了,获得了所有的信息,但是想到最初扫描的端口目的就是为了拿到远程连接,而且已经获得了管理员用户权限完全可以创建一个新用户进行远程RDP登录,但是想尝试一下能不能获取管理员用户的密码,随即上传mimikatz尝试获取系统中账户的密码

通过命令查看当前服务器用户账户信息,发现服务器中存在多个用户

net users 列出所有用户账户

mimikazt使用命令读取密码信息,获取Administrator等多个用户密码

mimikatz.exe “privilege::debug” “token::elevate” “sekurlsa::logonpasswords” “lsadump::sam” exit

privilege::debug:提升进程的权限到 DEBUG 级别,这通常是为了获取对系统进程更多的控制权,包括读取其他进程的内存空间。

token::elevate:提升当前访问令牌的权限,这通常用于绕过用户账户控制 (UAC) 或获取更高权限的操作。

sekurlsa::logonpasswords:尝试从本地安全机构子系统服务 (LSASS) 进程中提取当前登录用户的密码信息。

lsadump::sam:从本地 SAM (Security Account Manager) 数据库中转储用户账户信息,包括密码哈希。

exit:退出 Mimikatz。

webshell并不能做到真正的交互式回显,所以需要连起来一行执行命令(mimikatz是提供这种执行命令的方法,同样也能交互式输出)

7.利用Administrator用户账户/密码成功登录菠菜网站服务器

三、总结

成功拿下了菠菜网站的服务器,进行了远程桌面连接,通过最后登录和公网IP的查找也发现该服务器是一台云主机

感觉这次渗透一切都太顺利,服务器完全不设防,历史漏洞也没有修复,没什么技术含量,主要是对各种工具的使用,各位大佬当爽文看就行,希望以后大家做渗透测试的时候也都能碰到这样的站点

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

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

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

opencode完整使用指南:从安装配置到Agent式编程实战 AI编程工具正从辅助补全向智能体协作演进。编程智能体不仅理解项目全局,还能自主执行原子级重构、测试验证等工程任务,显著提升研发效能。以opencode为代表的开源终端AI编程工具,凭本地优先和灵活模型接入成为技术团队新宠。本文围绕opencode的完整使用链路展开,从Node.js环境准备、npm全局安装,到解决Windows环境变量配置问题,再到接入OpenAI、Anthropic或多模型管理平台,梳理一套标准化接入方案。同时演示VSCode插件调用、LSP语义分析及Playwright驱动的浏览器自动化 阅读详情

相关推荐

用Bus Hound和MIDIOX抓包分析USB MIDI数据流:从硬件接口到软件解析的完整实战

本文详细介绍了如何使用Bus Hound和MIDIOX工具抓包分析USB MIDI数据流,从硬件接口到软件解析的完整实战过程。通过解析MIDI协议、捕获Note On/Off事件、控制变更消息等实例,帮助开发者深入理解音乐数字接口的底层通信机制,并提供了常见问题的解决方案和调试技巧。

weixin_42692935的博客 407

【渗透测试实战】菠菜站渗透测试——Nacos反序列化漏洞利用

渗透测试实战——Nacos反序列化漏洞利用

2301_77472496的博客 441

KEPServerEX6教程:IoT Gateway与MQTT Client实现工业数据双向通信

工业物联网的核心挑战在于异构设备协议与云端平台之间的数据互通。Modbus、S7、OPC UA等现场协议纷繁复杂,而上层应用普遍偏好MQTT、REST等轻量接口,此时需要一个可靠的协议转换层。MQTT作为低带宽、高可靠的发布/订阅消息协议,天然适合工业数据采集与远程控制场景。KEPServerEX6作为工业网关软件,内置IoT Gateway与MQTT Client组件,分别承担数据上行发布与指令下行订阅的职责,形成完整的双向闭环。通过配置Modbus TCP设备驱动、创建Tag、设置MQTT Broker

weixin_33787529的博客 391

wpf中 INotifyPropetychanged接口 中事件订阅方法

它看起来只有一行,但实际上涉及 C# 事件(event)、委托(delegate)、接口(interface)、数据绑定(Binding)、通知机制、MVVM 设计模式 等多个知识点。我按照从基础到进阶的顺序,带你重新梳理一遍。我们不仅要知道它怎么用,还要弄明白:为什么需要它、它是怎么通知 WPF 界面更新的、以及实际项目中应该怎么封装。

like_sunshine978的博客 280

永磁同步电机无传感器控制:HFI与ESMO技术详解

高频注入(HFI)和增强型滑模观测器(ESMO)是现代永磁同步电机(PMSM)无传感器控制的核心技术。HFI通过注入高频信号利用电机凸极效应获取转子位置,而ESMO则通过改进传统滑模观测器,有效抑制抖振并提升动态响应。这两种技术的结合特别适用于零低速区域的位置估计,在工业伺服、电动汽车等领域有广泛应用。方波高频注入作为实现方案之一,具有计算量小、实现简单的特点,配合自适应滤波等信号处理技术,可以在保证精度的同时降低系统成本。

weixin_29183637的博客 357

DDD系列 - 第6讲 仓库Repository - Mybatis篇

书接上回,之前通过一个关于拆解、微服务、面向对象的故事,向大家介绍了如何从微服务、面向对象一步步演进到DDD的,整个演进过程如下图:其中在领域层,我们定义了富血模型的领域模型,包括聚合、聚合根、实体、值对象等。聚合在代码层面中的表现形式即是一个包Package,起到了边界的作用,聚合内的对象间高内聚,而聚合间低耦合。聚合中放着实体、值对象、仓库等,实体相较于值对象的一个典型区别就是实体存在唯一标识,并且可通过该唯一标识查询到该实体并对其进行相关操作,值对象不存在唯一标识且通常作为实体。

罗小爬的技术宝书 1788

如何通过处理WPF的渲染管线CompositionTarget.Rendering来实现高性能绘图

在这个元素内部通过。

【微软MVP】zhaotianff的专栏 313

【SpringBoot 4.x 第70节】夯爆了,企业级 API 设计规范落地:状态码、错误码、接口文档与兼容性(超详解)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 134

wpf中的DialogcloseListener

DialogCloseListener的作用是:让对话框的ViewModel向Prism发出“请求关闭当前对话框”的通知,并且可以把结果和数据传回调用方。自己创建的默认值没有连接到 Prism 的关闭回调,调用它也不能正确关闭对话框。项目使用的是 Prism 9,这也是 Prism 9 中。它内部封装了关闭对话框所需的回调,通常只需要调用它的。需要保存时,先执行保存逻辑,再请求关闭。我的操作完成了,请关闭承载我的对话框。这是 Prism 提供的特殊框架机制。的前提下,点击这个按钮就会请求关闭。

like_sunshine978的博客 222

Cadence PCB仿真 使用Allegro PCB SI为BRD文件创建通用型IBIS模型的方法图文教程

本文简单介绍使用Allegro PCB SI软件为BRD PCB设计文件中的元器件创建IBIS模型的方法。

fydar的博客 2172

SAP物料主数据归档详解(物理删除)

顾问们的回答肯定的统一的不能,只能打上删除标记。物料设置好需要删除的物料号这里我们需要删除的物料是AG88,其中,若不选“考虑无删除标记的物料”,需要将需要归档的物料MM06打删除标记。平时在操作系统过程中经常会不小心创建出很多无用的物料主数据,但是系统只能通过MM06打上删除标记,但是物料最终在系统中还是可以查询到的。6、执行已设置变式的归档程序,执行完毕,点下图中的“Job”,每次执行完归档程序会产生两条作业。然后设置好开始的参数和假脱机的参数,三个都是绿灯就可以执行归档的操作,物理上删除物料主数据。

我小时候很黑的博客 5527

# WPF DataGrid 控件详解与使用(1)—WPF 中的控件(9)--数据网格控件(DataGrid)(1)

> DataGrid 是 WPF 中用于以**行/列表格形式展示和编辑数据**的核心控件,位于 `System.Windows.Controls` 命名空间。它天然支持**数据绑定、自动列生成、编辑、排序、分组、虚拟化**等能力,是 上位机应用软件(业务系统)开发中最常用的数据展示控件。 WPF 中DataGrid控件的编辑和格式化显示功能非常强大。涉及大量编辑数据,大量输入数据,数据库系统离不开DataGrid控件。这个主题会分成多篇文章。

yunmaowu0917的博客 197

2026最新版OpenClaw安装:Windows WSL2从零到跑通

Windows WSL2安装OpenClaw指南 本文详细介绍了在Windows系统上通过WSL2部署OpenClaw AI助理的完整流程。WSL2结合了Windows易用性和Linux高性能,特别适合Windows用户、开发者、学生和技术爱好者。文章涵盖硬件要求(推荐i5/16GB/SSD)、系统准备(Windows 10/11+WSL2)、环境部署(Python/Node.js/Redis)和OpenClaw配置(克隆/编译/初始化)等关键步骤。通过WSL2,用户可在保留Windows操作习惯的同

一键难忘的博客 2346

按Ctrl键会引发几次按键消息

                                                                           何志丹(一),新建一个单文档工程CtrlEg。(二),为CCtrlEgView的WM_KEYDOWN消息和WM_KEYUP消息添加响应函数。具体代码如下:void CCtrlEgView::OnKeyDown(UINT nChar, UINT nRe

闻缺陷则喜何志丹 1880

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

添加xaml页面。WPF 多视图切换(UserControl 页面路由 / 视图切换模式)*

1、创建WPF App(.NET Framework / .NET) 解决方案 Test2、MainWindow 作为外壳主窗口2.1 MainWindow.xaml:定义Grid行列布局,划分【按钮菜单栏区域】+【ContentControl视图容器】2.2 MainWindow.xaml.cs:实现通用切换方法 SwitchView(UserControl view),给ContentControl赋值2.3 各个按钮点击事件里调用 SwitchView(视图实例)

zxf347085420的博客 169

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AI 编程智能体 27:吃透MCP通信机制

本文系统解析MCP通信机制,重点剖析STDIO标准输入输出模式的底层原理与实战开发。通过对比STDIO、SSE、流式HTTP三种协议,明确STDIO为本地工具开发首选——零网络开销、极简部署、自动进程管理。结合Fast MCP框架,手把手演示服务端注册工具、客户端异步连接及智能体调用全流程,附完整代码与三大避坑要点(路径配置、异步语法、自动启动)。强调掌握STDIO是迈向AI智能体开发的核心基石,新手可一键上手,快速实现大模型与本地工具的高效联动。

软件科学-郝学胜 404

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# + .NET 8 + WPF + HALCON25.11

在解决方案资源管理器,右键→【设为启动项目】顶部菜单:【生成】→【生成解决方案】,看输出窗口,无报错按F5启动调试点击按钮【加载测试图】:图片显示,缺陷自动画红框,表格输出坐标。

qq_36657291的博客 313

# WPF DataGrid 控件详解与使用(3)—WPF 中的控件(9)--数据网格控件(DataGrid)(3)

“WPF DataGrid 控件详解与使用—WPF 中的控件(9)–数据网格控件(DataGrid)”这个主题会分成多篇文章之一。 本章就DataGrid 控件的编辑,行详情(Row Details),值转换器,样式与外观自定义做一探讨。这也是DataGrid 控件使用必备技能。

yunmaowu0917的博客 241

湖南省网安基地网络安全培训:零基础入门与实战进阶的课程衔接

零基础学网安,怕跟不上;有基础再学,怕重复。本文按阶段拆解湖南省网安基地的网络安全培训衔接逻辑:能力评估定起点,基础阶段补系统与网络底座,核心阶段练漏洞复现,进阶阶段进入红蓝对抗与单位网络安全攻防演练,并说明 NISP、CISP 与网安实战人才的对应关系。

2401_84466325的博客 1139

企业如何同时管理用电安全、电能质量和节能降碳?从异常溯源看施耐德电气EEO的协同管理价值

通过整合电力运行信息,并结合EEO资产健康模块、EEO电能质量模块与EEO能碳管理模块,企业可以围绕设备、回路和负荷建立更连续的分析流程,使不同专业人员能够基于相互关联的数据开展判断。企业需要进一步核对异常出现的时间、涉及的配电回路、生产负荷变化以及设备运行状态,才能判断问题来自正常的生产调整、设备运行异常,还是需要采取措施的电能质量问题。从关键回路的异常排查入手,逐步完善设备数据、专业分析和治理验证流程,企业可以让用电安全、电能质量与节能降碳从分散的管理任务,转变为相互关联的日常运营工作。

科技,技术,行业类博主 187

DPU安全组与ACL性能测试:从规则爆炸到线速卸载的实战指南

本文深入剖析DPU安全组与网络ACL的底层卸载架构,通过两个完整实战测试矩阵,量化评估规则复杂度、有状态连接跟踪(Conntrack)及OVS Offload协同对RoCEv2性能的影响。结合真实故障排查案例与工具输出矩阵,揭示大规模云环境中安全组性能跌落的根因,并给出基于规则聚合与硬件表项优化的最优配置指南。

专注分享DPU、RDMA智能网卡/SSD(固态硬盘)产品测试与优化 357

‌7-Zip加密压缩包完整教程:AES-256加密、加密文件名与安全分享指南(2026最新)‌

‌给别人发压缩包,只设密码就够了吗?本文用 2026 最新版 7-Zip 讲透 AES-256 加密原理与实操,手把手教你设置密码、勾选加密文件名、分卷加密与自解压包,并给出强密码标准、密码传递方式和跨设备兼容建议,让敏感资料真正只对指定的人开放。

Helix250的博客 381

防关联浏览器怎么设置更安全?从环境隔离到登录检查的操作步骤

本文介绍防关联浏览器的安全设置流程:先明确每个环境的用途与归属,再隔离浏览数据、核验实际网络出口和配置一致性,最后做好多因素认证、会话保护与变更记录。浏览器环境隔离有助于减少配置混用,但不能保证账号不会被关联或限制。

2601_96176203的博客 181
上一篇: 【XML外部实体注入】XXE漏洞分析——pikachu靶场复现_pikachu xxe
下一篇: 网络安全攻防:Web安全之渗透测试(非常详细)零基础入门到精通,收藏这一篇就够了
网络安全_入门教程
博客等级 码龄4年 1万+粉丝 2151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值