JavaEE文件泄露与修复方案

蓝凌OA信息泄露漏洞实战:从原理到修复的企业安全审计指南 信息泄露是企业应用安全中常见的高危风险,其核心原理在于访问控制机制的缺失或缺陷,导致未授权用户能够直接访问敏感数据或系统资源。从技术实现层面看,这类漏洞常源于不安全的默认配置、调试接口未关闭、路径过滤不严或API鉴权逻辑错误。其技术价值在于,攻击者往往无需复杂技巧即可获取关键信息,如数据库凭证、员工通讯录或内部文件,从而为后续的横向移动和深度渗透提供跳板。在应用场景上,广泛部署的协同办公系统(OA)因其集中存储大量企业敏感数据,成为信息泄露的重灾区。本文以蓝凌OA系统为具体案例,深入剖析了静态资源泄露、目录 阅读详情

在JavaEE应用中,文件泄露漏洞通常由路径遍历、不安全文件访问或配置缺陷引发。以下是常见原因、风险及修复方案:


常见泄露原因

  1. 路径遍历攻击

    java

    // 漏洞示例:用户可构造参数获取任意文件
    String filePath = request.getParameter("file");
    File file = new File("/baseDir/" + filePath); // 攻击者输入"../../../etc/passwd"
  2. 静态资源目录暴露敏感文件

    • 将 WEB-INF 或 META-INF 目录映射为静态资源。

  3. 错误信息泄露

    • 异常堆栈暴露服务器路径(如 FileNotFoundException 显示完整路径)。

  4. 未授权文件下载

    • 下载接口未校验用户权限或文件名合法性。


修复方案

1. 路径遍历防护

java

// 安全写法:规范路径并校验是否在允许目录内
String userInput = request.getParameter("file");
Path baseDir = Paths.get("/safe/baseDir").toAbsolutePath().normalize();
Path resolvedPath = baseDir.resolve(userInput).normalize();

if (!resolvedPath.startsWith(baseDir)) {
    throw new SecurityException("非法路径访问");
}
File file = resolvedPath.toFile();
2. 禁用敏感目录访问
  • web.xml 配置:禁止访问 WEB-INF 和 META-INF

    xml

    <security-constraint>
        <web-resource-collection>
            <url-pattern>/WEB-INF/*</url-pattern>
            <url-pattern>/META-INF/*</url-pattern>
        </web-resource-collection>
        <auth-constraint />
    </security-constraint>
3. 文件下载安全控制
  • 白名单校验文件名:

    java

    if (!fileName.matches("[a-zA-Z0-9_\\-]+\\.(jpg|pdf)")) {
        response.sendError(400, "非法文件名");
        return;
    }
  • 权限校验:

    java

    if (!user.hasPermission(fileName)) {
        response.sendError(403, "无访问权限");
    }
4. 错误信息处理
  • 全局异常处理器屏蔽敏感信息:

    java

    @WebServlet("/error-handler")
    public class ErrorHandler extends HttpServlet {
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
            Throwable ex = (Throwable) req.getAttribute("javax.servlet.error.exception");
            resp.sendRedirect("/generic-error.html"); // 跳转到通用错误页
        }
    }
  • 在 web.xml 中配置:

    xml

    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/error-handler</location>
    </error-page>
5. 服务器加固
  • 文件存储隔离:将用户上传文件存储到独立目录(如 /data/uploads),禁止放在Web应用目录内。

  • 最小权限原则:运行容器的系统用户仅授予必要目录的读/写权限。

  • 安全扫描:使用工具(如 OWASP ZAP、Fortify)定期扫描路径遍历漏洞。

6. 安全编码规范
  • 避免直接拼接用户输入的文件路径,使用 Path.normalize() 消除 ../。

  • 对下载文件名进行RFC 5987编码,防止XSS:

    java

    String safeFileName = "filename=\"" + fileName.replace("\"", "") + "\"";
    String encodedFileName = "filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8");
    response.setHeader("Content-Disposition", "attachment; " + safeFileName + "; " + encodedFileName);

防御多层架构

层级防护措施
前端文件名白名单校验(JS二次验证)
网关WAF拦截 ../、%2e%2e/ 等攻击
应用层路径规范化+目录权限校验
存储层文件独立存储+最小权限
容器配置安全约束(web.xml)

测试验证

  1. 尝试访问 http://host/download?file=../../WEB-INF/web.xml。

  2. 使用工具检测目录遍历(如 Burp Suite Intruder)。

  3. 检查错误页面是否暴露路径信息。

通过以上措施,可显著降低JavaEE应用文件泄露风险。核心原则:永不信任用户输入,强制路径校验,最小化权限暴露。

异常信息泄露 应用程序错误泄露 原理以及修复方法 阅读详情

相关推荐

JavaEE/Spring Boot文件泄露漏洞:成因、修复与纵深防御实战

文件泄露是Web应用开发中常见的安全风险,其核心原理在于应用程序因配置或代码缺陷,将服务器文件系统内的敏感资源暴露给了未授权访问。这种风险不仅威胁数据安全,也可能成为进一步攻击的跳板。从技术价值看,防范文件泄露是构建安全应用架构的基础,涉及输入验证、路径解析、资源映射和服务器配置等多个层面。在JavaEE及Spring Boot等主流框架的应用场景中,静态资源映射不当、文件下载功能缺陷是导致泄露的主要成因。本文基于真实的线上事故,深入剖析了路径遍历等攻击手法,并提供了从安全编码到服务器配置的全链路、可落地的

weixin_28622215的博客 248

java代码审计系统课程

1、随着三同步要求,代码审计作为三同步中的其中一项,再信息化安全中越来越重要。2、很多安全人员更偏向与渗透,而对代码安全知道甚少。很多开发人员更不懂安全。3、市面上少有的系统性的java代码审计课程。4、学习以后开发不再编写“漏洞”,渗透测试人员更加清晰的了解漏洞原理。5、本课程附件中提供审计源码、审计工具fortify

浅谈“异常信息泄露(应用程序错误)”

一:漏洞名称: 未自定义统一错误页面导致信息泄露,抛出异常信息泄露,错误详情信息泄漏 AWVS漏洞名称如下: Application error message Error message on page ASP.NET error message 描述: 1.如果攻击者通过伪造包含非应用程序预期的参数或参数值的请求,来探测应用程序,那么应用程序可能会进入易受攻击的未定义状态。攻击者可以从应用程序对该请求的响应中获取有用的信息,且可利用该信息,以找出应用程序的弱点。 错误.

→_→ 1万+

文件上传的漏洞介绍及常见防御方法V1.0

if (file==null||file==""){ alert("请选择要上传的文件");

qq_49849300的博客 3454

中间件漏洞及修复汇总

  仅供参考     Nginx文件解析漏洞 漏洞等级:高危 漏洞描述: nginx文件解析漏洞产生的原因是网站中间键版本过低,可将任意文件当作php可执行文件来执行,可导致攻击者执行恶意代码来控制服务器。 漏洞危害: 机密数据被窃取; 核心业务数据被篡改; 网页被篡改; 数据库所在服务器被攻击变为傀儡主机,导致局域网(内网)被入侵。 修复方案: 升级中间件版本 ...

专注企业信息安全-sec 1386

接口信息泄露漏洞深度剖析:从getDataSource漏洞复现到安全防御实践

信息泄露漏洞是Web安全领域的常见风险,其核心在于应用程序不当暴露了敏感数据。这类漏洞的成因通常涉及不安全的直接对象引用与安全配置缺失,攻击者可通过未授权访问特定接口(如数据源配置接口)获取数据库连接字符串、服务器路径等关键信息。在技术价值层面,信息泄露虽不直接导致系统沦陷,但为后续的数据库入侵、横向移动及供应链攻击提供了关键跳板,危害不容小觑。应用场景广泛存在于各类Web应用、API服务及统一身份认证平台中。本文以典型的`getDataSource`接口信息泄露为例,结合**漏洞复现**与**安全加固**

weixin_29324877的博客 319

JAVA开发(web常见安全漏洞以及修复建议)

web常见安全漏洞以及修复建议

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 2411

javaWeb安全验证漏洞修复总结

目前很多业务都依赖于互联网,例如说网上银行、网络购物、网游等,很多恶意攻击者出于不良的目的对Web 服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。正是因为这样,Web业务平台最容易遭受攻击。同时,对Web服务器的攻击也可以说是形形色色、种类繁多,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IIS等针对Webserver漏洞进行攻击。

java文件上传漏洞修复工具类

最近安全人员测试系统,说文件上传下载删除接口有安全漏洞;因为文件path与文件流是前端传给后台的,说是如果不校验格式的话、会有各种问题。再此总结下工具类方法。

BHSZZY的博客 1665

大模型驱动时序量化因子自动优化:从WorldQuant回测到实战策略

本文探讨了如何利用大模型驱动时序量化因子的自动优化,构建从创意生成到实战验证的完整流程。通过结合WorldQuant回测平台,搭建自动化流水线,详细拆解了因子生成、回测验证与迭代优化的核心模块。文章分享了从初版实现到进阶优化的实践经验,并指出提示词工程与领域知识注入是关键,旨在实现人机智能协作,提升量化策略研发效率。

wdx012345的博客 803

AI图像去噪实战:5种最新深度学习模型在超声图像处理中的效果对比(附代码)

本文对比了2022至2024年间五种前沿深度学习模型在超声图像去噪领域的实战效果,包括FDDL-Net、MG-CNFNet、Dual-TranSpeckle、可控去噪模型及Wave-Mamba。文章深入剖析了各模型的核心创新与架构,并提供了可运行的代码片段,旨在帮助医学影像算法工程师根据不同的性能、速度与临床需求,选择最合适的AI图像去噪解决方案。

1a2s3d4f5g的博客 915

源码泄露详解 一文了解常见源码泄露

这几天回顾做过的ctf题,看到好多题有源码泄露,本篇做个归纳总结

闵行小鱼塘 4176

Xcelium XRUN实用指南:从入门到高效仿真

本文是Xcelium XRUN仿真工具的实用指南,从基础入门到高效应用全面解析。XRUN作为Cadence Xcelium的统一命令行入口,能自动化编译、精细和仿真流程,大幅提升数字芯片与FPGA验证效率。文章详细介绍了最简命令、波形调试、增量编译、多核并行仿真等核心功能,并提供了管理复杂项目、性能调优与深度调试的进阶技巧,帮助工程师快速上手并精通这一高效仿真工具。

weixin_29238147的博客 740

Java异常泄露敏感信息_浅谈“异常信息泄露(应用程序错误)”

详细的各种修复方案请参考如下:1.对于tomcat的中间件下,常用修复方式如下:找到配置文件web.xml,修改内容如下:配置一个统一的静态页面,将400、403、404、500等常见报错重定向到该静态页面,而不是抛出异常(报错信息导致代码信息泄漏)。java.lang.Throwable/jsp/common/error.html500/jsp/common/error.html404/jsp/...

weixin_36026454的博客 3035

消费级显卡跑大模型:RTX 3060 12G 部署 70 亿参数 AI 编程助手的优化实战

本文详细介绍了如何在消费级显卡RTX 3060 12G上,通过量化、投机解码和分页KV-Cache等核心优化技术,成功部署并流畅运行70亿参数的CodeLlama-7B编程助手。文章提供了从环境配置、模型准备到参数调优的完整实战笔记,实测显存占用降至7.3GB,生成速度达21.7 token/秒,为开发者和技术爱好者提供了可行的本地AI部署方案。

weixin_29053067的博客 1257

PADS安装教程(超详细)

声明:个人实践 一、工具准备 pads9.5完整破解版百度网盘提取码【wjx9】 链接:https://pan.baidu.com/s/1pIP6BJO435ssmF7Hjwyz8A 提取码:wjx9 安装环境:win10 64位 二、开始解压安装 关闭杀毒,exe以管理员身份运行 点击【skip】,不然又得licese 点击【agree】 点击【modify】 设置安装的工具、路径及工程路径 设置完成后,开始【install】 在之后注册。 将Crack复制到PADS安装目录

qq_42057393的博客 5万+

web服务器分层架构的资源文件映射安全以及在J2EE应用中的利用与危害

shine · 2013/05/24 18:140x00 相关背景介绍通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等!例如:Nginx+ Tomcat的分层结构(在下文中,我们也使用此例说明相关问题)Nginx是一个高性能的 HTTP 和 反向代理 服务器 。通常,我们是通过它来解决一些静态资源(如:图片...

weixin_33924312的博客 164

详解Xilinx FPGA高速串行收发器GTX/GTP(1)--SerDes和GTX的关系

详解Xilinx FPGA高速串行收发器GTX/GTP(1)--SerDes和GTX的关系

孤独的单刀 4350

python毕设 基于J2EE的学生信息管理系统程序+论文

因此本选题将以教育机构的学生信息管理为研究情景,重点分析和研究如何利用J2EE架构和Python语言构建一个功能完善、高效且安全的学生信息管理系统,以期探寻在当前教育环境下更优化的学生信息管理问题的解决机制,提出构建这样一个系统的对策建议,为后续更加深入的研究提供基础。目前,随着学生数量的增加和教育需求的多样化,传统的学生信息管理方式已经难以满足需求。这有助于提高教育机构的管理效率,减少人工管理的错误,提升教育资源的分配合理性,为教育机构的教学、管理等工作提供有力的支持。

django毕设 1078

【数据集】全球大气空气柱平均甲烷(XCH₄)和一氧化碳(XCO)浓度数据集 TROPOMI/WFMD

全球大气空气柱平均甲烷(XCH₄)和一氧化碳(XCO)浓度数据集 TROPOMI/WFMD

WW、forever的博客 387

软件设计师考试下午题代码部分详解:23种设计模式全面解析

软件设计师考试的下午题通常会考察设计模式的应用,这部分内容既是重点也是难点。本文将系统地介绍考试中常见的23种设计模式,通过详细代码示例和通俗易懂的讲解,帮助考生掌握这些核心知识点,提高应试能力。概念:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用场景:系统要独立于产品的创建、组合和表示时;系统要由多个产品系列中的一个来配置时。@Override@Override@Override@Override// 产品族A@Override。

4万+

【039-安全开发篇】JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化

本文摘要介绍了SpringBoot中的两个重要系统模块及其安全问题: Actuator监控系统:提供了健康检查、指标收集等功能,但存在heapdump泄漏敏感信息的风险,需通过配置禁用相关接口; Swagger接口文档系统:方便前后端协作,但会暴露应用接口,可能引发未授权访问等安全问题。文章还演示了如何利用JDumpSpider工具分析泄漏信息和Postman自动化测试接口。最后新增了视频时间戳功能,方便定位学习内容。

hello_wprld的博客 943

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JAVA Web应用常见漏洞与修复建议

跨站脚本、输入验证、代码注入等常见漏洞解析和修改方案

qq_39560975的博客 9796

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java缺陷修复

输入验证:日志伪造 问题 允许日志记录未经验证的用户输入,会导致日志伪造攻击。 解决

while(life)++; 4621

深度学习工具包 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")

四大常见服务未授权访问漏洞深度剖析与实战修复指南

本文深度剖析FTP、JBoss、LDAP和Rsync四大常见服务的未授权访问漏洞,提供实战修复指南。针对FTP匿名登录、JBoss JMX控制台暴露、LDAP匿名绑定和Rsync数据泄露等高风险漏洞,给出企业级防护方案,包括配置优化、权限管理和监控审计,帮助管理员有效提升系统安全性。

weixin_42530458的博客 271
上一篇: 不可变类字段修复建议
下一篇: Spring文件泄露与修复方案总结
zqmattack
博客等级 码龄6年 310粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zqmattack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值