首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java代码审计 -- 敏感信息泄露

欢迎关注我的微信公众号《壳中之魂》,查看更多网安文章 敏感信息一般分为系统敏感信息和应用敏感信息两大类,其中,系统敏感信息一般为业务系统本身的基础环境信息,例如系统信息、中间件版本、代码信息;应用敏感信息又可以分为个人敏感信息和非个人敏感信息...,如果是在数据库查询功能页面,还会暴露出SQL语句、使用的数据库及版本以及使用的框架等 修复建议: 1、编码时增加异常处理模块,对错误页面做统一的自定义返回界面,隐藏服务器版本信息; 2、不对外输出程序运行时产生的异常错误信息详情...()方法,当发生错误时,e.printStackTrace()方法就会把错误信息输出 try (Connection connection = dataSource.getConnection()) {...2、不把错误异常对外抛出 硬编码 参考文章:如何在Java源代码中隐藏硬编码密码 | 码农家园 (codenong.com) 假设在一个登录中,以这种方式保存账号密码 String username...&& filename.indexOf("/././/") == -1){ exit(); } else { //do } 2、白名单ID索引(针对于下载业务) 通过建立数据库的方式,当一个文件上传时就把它的文件名添加到白名单里面

3.1K00

JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】

---- JSP生命周期 JSP也是Servlet,运行时只有一个实例,JSP初始化和销毁时也会调用Servlet的init()和destroy()方法。...我们可以在web.xml文件中全局设置错误页,只要发生了404错误或者空指针异常的错误都会跳转到error.jsp页面上 404...> 随便输个资源进行,会发生发404错误的,跳转到错误页面。...使用jsp行为来包含文件,jsp源文件是这样子的: ? jsp行为包含文件就是先编译被包含的页面,再将页面的结果写入到包含的页面中(1.jsp) 当然了,现在有静态包含和动态包含,使用哪一个更好呢?...---- param行为 当使用jsp:include和jsp:forward行为引入或将请求转发给其它资源时,可以使用jsp:param行为向这个资源传递参数。

1.3K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java轻量级web框架_什么是框架

    我们还将介绍这三个框架提供的类如何使得开发工作更加简单,这些类包括: 控制程序流程的类 实现和执行程序事务逻辑的类 自定义的标记库使得创建和验证HTML表单更加容易 Struts框架具有组件的模块化...URL名称是目标的组件名称,不涉及URL和路径等操作,方便稳固 类似Tapestry3 参数传递 使用html:link时传递参数超过一个以上处理麻烦。...: 在用户名处输入Test,密码随意输入然后点击登陆,界面显示: 如果系统在运行过程中出现业务逻辑问题,那么系统会自动把错误信息交给error.jsp显示出来。...7.1、界面要素说明 对于JEMSF,界面要素主要关注对象的Click事件,当一个对象的Click事件发生时,用户可能希望看到一些效果,比如保存用户填写的数据,所以在对象执行Click事件之后,那么就可以抓住该事件进行处理...,当按钮按下时执行Login()函数,这是一个JavaScript的函数。

    82710

    纳税服务系统三(优化处理)【异常处理、抽取BaseAction】

    出现了问题要根据实际情况判断是否会影响本次操作结果,action中要根据异常信息进行判断然后确定是否操作成功; service【service层需要我们自定义异常】 ③ dao层也可能出现在操作数据库时出现错误...就在Struts总配置文件中配置对应的映射。 我配置异常信息的package就行了。...例如:在listUI,我们要获取多个用户的时候,需要有selectedRow这么一个属性。在其他的子模块也应该要有这个样属性。所以我们可以抽取出来--->形成一个BaseAction。...如果没有异常信息,但是有错误并且有错误信息等内容;此时也需要进行友好的错误处理的话,那么可以借助StrutsResultSupport 返回结果类型来实现特定处理。

    57890

    JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域

    ,一般为java语言,默认为java         extends        任何类的全名   编译该JSP文件时继承哪个类,JSP为Servlet,因此当指明继承普通类时需要实现Servlet的...JSP文件或者HTML文件的路径,例如,网址内所有页面均有一个统一风格的导航栏和页脚版权,那么就可以使用该指令将其包含进来。   ...      后者:不会合并文件,当代码执行到include时,才包含另一个文件的内容。     ...exception.jsp  抛异常的一个NullPointException,并且跳转到error.jsp错误显示页面  errorPage属性的意思是如果发生未捕捉到的异常,将会跳转到error.jsp...error.jsp  isErrorPage属性说明该页面是一个错误显示页面,则可以使用exception对象 ?

    1.3K70

    Struts 1高级应用

    ,我们学习了Struts 1的基础知识,包括Struts 1的运行原理、体系结构和标签库等。...下面我们通过一个案例来演示DispatchAction的使用和配置。图2.1.1是我们第二阶段学习时用过的图书表,现在针对这个表实现查询功能,包括按书名查询、按作者查询和按出版社名查询。...在Struts1中对异常的处理其实比较简单,当程序发生异常时,我们只需要跳转到指定的错误提示页面即可。...path 指定出现异常时跳转到哪个错误提示页面。 (3) 创建错误提示页面error.jsp,代码如下所示。...例如,当程序运行环境是在中国时,Struts就通过标签读取中文资源文件,从而显示中文界面;当运行环境是在美国时,Struts就通过标签读取英文资源文件

    7810

    【Java 进阶篇】JSP 指令详解

    指令告诉 JSP 引擎如何处理页面,以及在页面中包含哪些代码段。 本博客将详细介绍 JSP 中的指令,包括指令的种类、语法、用途和示例。无论您是初学者还是有经验的开发人员,都能从中获得有用的信息。...errorPage:指定在页面发生错误时将请求重定向到的页面。 isErrorPage:指定页面是否用作错误处理页面。...以下是一个示例,展示如何引用页面指令的属性: 如何正确使用页面指令将大大提高您的生产力。希望这篇博客能够帮助您更好地理解和使用 JSP 指令。...如果您想深入了解 JSP,还可以学习 JSP 标签、JSP 表达式语言(EL)和自定义标签库等相关主题。这将使您成为一个更加熟练的 JSP 开发人员。祝您编写愉快的 JSP 页面!

    45440

    Tomcat 安全基线检查

    禁止显示异常调试信息 | 服务配置 描述 当请求处理期间发生运行时错误时,ApacheTomcat将向请求者显示调试信息。...>/error.jsp,在webapps目录下创建error.jsp,定义自定义错误信息 操作时建议做好记录或备份 开启日志记录 |...安全审计 描述 Tomcat需要保存输出日志,以便于排除错误和发生安全事件时,进行分析和定位 加固建议 1、修改Tomcat根目录下的conf/server.xml文件。...禁止Tomcat显示目录文件列表 | 服务配置 描述 Tomcat允许显示目录文件列表会引发目录遍历漏洞 加固建议 修改Tomcat 跟目录下的配置文件conf/web.xml,将listings...Tomcat安装提供了示例应用程序、文档和其他可能不用于生产程序及目录,存在极大安全风险,建议移除 加固建议 请删除Tomcat示例程序和目录、管理控制台等,即从Tomcat根目录的webapps

    1.8K20

    JSP面试题都在这里

    出现异常的原因很简单,就是同一个文件中有两个相同的变量s 使用动态包含就可以避免这种情况 总结 为jsp中的编译指令,其文件的包含是发生在jsp向servlet...转换的时期,而是jsp中的动作指令,其文件的包含是发生在编译时期,也就是将java文件编译为class文件的时期 使用静态包含只会产生一个class...Servlet和JSP最主要的不同点在于:Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。...当客户端向一个jsp页面发送请求时,Web Container将jsp转化成servlet的源代码(只在第一次请求时),然后编译转化后的servlet并加载到内存中执行,执行的结果response到客户端...缺点: 没有流程控制,程序中的JSP页面都需要检查请求的参数是否正确,异常发生时的处理。显示操作和业务逻辑代码工作会紧密耦合在一起的!

    1.3K100

    配置404、Error页面以及其他常用技巧

    上述两个问题,你电话都被打爆了,这应该是任何程序员都不希望发生的事情,所以,解决办法就来了,如果出现上述两个错误,我们应该修改用户看到的东西,相当于一个监听自动执行的超链接,当发生某件事的时候,立刻执行跳转到某个页面....jsp文件,下载下来之后把后缀名改成.xls,就变成excel表了,只不过打开以后,里面的中文是乱码,这个后面在讲如何解决,这里先会用即可 jsp:include  不知道你有没有见过这样的网站,网站有一个导航栏...,点击导航栏里面的超链接,能访问到另一个页面,这个页面也有导航栏,和之前的导航栏是一模一样的,如果是你来写这个网页,你会选择同样的导航栏,所有的jsp文件都复制粘贴一遍,还是把这个导航栏样式单独写成一个...jsp,让其他jsp直接"包含"进来  在写导航栏之前,先了解一下jsp:include和include file的用法,我先写两个网页,一个叫include.jsp,一个叫included.jsp,然后在...included.jsp中很多的内容都删了,包括String path和String basePath,必须删除,不删除会报错,这与包含的方式有关,include file这种是静态包含,也就是相当于将

    1.3K10

    JSP面试题都在这里(修订版)

    现在我使用静态包含看看会发生什么,出现异常了。...中的动作指令,其文件的包含是发生在编译时期,也就是将java文件编译为class文件的时期 使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件 使用静态包含,包含页面和被包含页面的...Servlet和JSP最主要的不同点在于:Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。...当客户端向一个jsp页面发送请求时,Web Container将jsp转化成servlet的源代码(只在第一次请求时),然后编译转化后的servlet并加载到内存中执行,执行的结果response到客户端...缺点: 没有流程控制,程序中的JSP页面都需要检查请求的参数是否正确,异常发生时的处理。显示操作和业务逻辑代码工作会紧密耦合在一起的!

    84261

    java后端开发每天遇到的jsp,了解一下

    ,而JAVA注释和JSP注释在浏览器中查看源文件时是看不到注释的内容的。...浏览器向服务器发请求,不管访问的是什么资源,其实都是在访问Servlet,所以当访问一个jsp页面时,其实也是在访问一个Servlet,服务器在执行jsp的时候,首先把jsp翻译成一个Servlet,所以我们访问...Servlet,而index_jsp又是继承HttpJspBase类的,所以index_jsp类也是一个Servlet,所以当浏览器访问服务器上的index.jsp页面时,其实就是在访问index_jsp...> error.jsp页面代码同上 当访问一个不存在的web资源时,就会跳转到在web.xml中配置的404错误处理页面error.jsp,如下图所示...并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

    1.2K20

    Struts2框架的基本使用(二)

    此外action元素还可以有method属性,该属性的默认值是execute,也就是当核心拦截器匹配到一个xxxAction的时候,会默认调用它的execute方法,当然我们也是可以使用method属性来显式指定某个方法作为默认方法调用...当它看到一个action的name值为 * 的时候,就决定用此action来响应此次请求,此时 * 的值为login,{1}表示name中的第一个 * 的值,此处自然也是login,于是显式调用LoginAction...二、配置处理结果      之前我们一直都在介绍有关Action的一些配置操作,但是始终没有说明Action返回的一个字符串是如何对应于物理视图资源的。...此处我们还应该知道,如果想要自定义一个结果类型的话,首先需要手写一个继承自com.opensymphony.xwork2.Result,然后在struts.xml文件中使用上述的元素配置定义。...首先我们我们看第一个type类型:plainText,它没什么实际的意义,主要用于显示视图的源代码。

    788100

    JSP指令

    ; l 当设置了contentType,而没设置pageEncoding时: pageEncoding的默认值与contentType; 也就是说,当pageEncoding和contentType只出现一个时...那么这个页面中就可以使用一个内置对象exception了。其他页面是不能使用这个内置对象的! 温馨提示:IE会在状态码为500时,并且响应正文的长度小于等于512B时不给予显示!...而是显示“网站无法显示该页面”字样。这时你只需要添加一些响应内容即可,例如上例中的b.jsp中我给出一些内容,IE**就可以正常显示了!...在上例中: l 当出现404时,会跳转到error404.jsp页面; l 当出现RuntimeException异常时,会跳转到error.jsp页面; l 当出现非RuntimeException的异常时...静态包含:当hel.jsp页面包含了lo.jsp页面后,在编译hel.jsp页面时,需要把hel.jsp和lo.jsp页面合并成一个文件,然后再编译成Servlet(Java文件)。

    43000

    JSP基础--三大指令

    ; l 当设置了contentType,而没设置pageEncoding时: pageEncoding的默认值与contentType; 也就是说,当pageEncoding和contentType只出现一个时...那么这个页面中就可以使用一个内置对象exception了。其他页面是不能使用这个内置对象的! 温馨提示:IE会在状态码为500时,并且响应正文的长度小于等于512B时不给予显示!...而是显示“网站无法显示该页面”字样。这时你只需要添加一些响应内容即可,例如上例中的b.jsp中我给出一些内容,IE就可以正常显示了!...在上例中: l 当出现404时,会跳转到error404.jsp页面; l 当出现RuntimeException异常时,会跳转到error.jsp页面; l 当出现非RuntimeException...静态包含:当hel.jsp页面包含了lo.jsp页面后,在编译hel.jsp页面时,需要把hel.jsp和lo.jsp页面合并成一个文件,然后再编译成Servlet(Java文件)。 ?

    85630

    Struts 2配置详解

    本章将深入学习Struts 2框架,主要内容是Struts 2的配置文件,包括Action的配置、Result的配置等等,只有掌握了配置文件,才能更好的使用和扩展Struts 2的功能。 ​...例如: ​​ ​​ ​​ 当使用上面的URL请求时,“*”和“{1}”就变成了“queryAdmin”,正好是Action中实现添加管理员的方法名。 ​​ ​​ ​​...当使用上面的URL请求时,“*”和“{1}”就变成了“delAdmin”,正好是Action中实现删除管理员的方法名。...4.2.4 配置默认Action 如果请求的Action不存在,那么页面上可能会呈现HTTP 404错误,为了避免这种情况的发生,Struts 2框架可以指定一个默认的Action,如果没有一个Action...下面我们看一下在struts.xml文件中如何配置,代码如下所示。

    16910

    Java EE实用教程笔记----(1)第1章 Java EE平台及开发入门

    、功能简单时,Java EE用传统的Java Web方式开发:用JSP制作前端页面;编写Servlet实现程序业务逻辑处理和流程控制;JavaBean将表封装成对象,提供对数据的面向对象访问;JDBC直接操作后台数据库...本例要写3个JSP文件:login.jsp(登录页)、main.jsp(欢迎主页)和error.jsp(出错处理页)。...:main.jsp和error.jsp。...当然,若是输入错误的密码,或者输入一个数据库login表中不存在的用户名和密码,提交后则会跳转到如图1.36所示的出错页。...中途如果有错,可以设置断点调试错误,包括用IDE导出导入项目,过于简单,在这里就不浪费大家时间了,加油↖(^ω^)↗。

    1.9K20
    领券