当前位置:首页 > 网络安全 > 正文内容

Java Web 工程源代码安全审计实战,第 4 部分: 环境加固

访客4年前 (2021-04-15)网络安全780

前语

本文是 Java Web 工程源代码安全审计实战的第 4 部分,也是最终一部分,根据 WebGoat 工程,解说源码审计出产环境布置装备问题。相比较于前三部分各种高危缝隙的审计和整改。环境布置部分篇幅较短,可是由于其在逻辑上是不耦合,故独立成文。

Java Web 运用工程布置并运行在服务器环境中,所以代码安全审计除了查看编程言语(Java, JSP,JavaScript)文件,还要查看运用装备和服务器装备,对出产环境进行安全加固。

 

运用安全装备

表 1. 运用布置描述符装备

条目 办法 阐明 Session 时效设置 在 web.xml 的</ session-config >标签上增加以下内容: <Session-timeout> Time-in-minutes </session-timeout> web.xml 装备文件或许 Java 代码,至少要在两者之一指定 session 时效。session.setMaxInactiveInterval() 默许是 20 分钟 制止 servlet 拜访 web.xml 文件 <url-pattern>/servlet/*</url-pattern> 安全权限最小化准则装备 制止不需求的 http 办法, web.xml 文件 <Security-constraint> <Web-resource-collection> <web-resource-name>Disallowed Location</web-resource-name> <url-pattern>/*</url-pattern> <http-method>PUT</http-method> <http-method>DELETE</http-method> </web-resource-collection> </security-constraint> 不允许用户履行上传和删去的页面操作 制止匿名拜访 WebService 为 WebService 定制拜访权限 需求结合服务器环境制造身份认证

表 2. 服务器安全装备

条目 办法 阐明 自界说过错页面 在 web.xml 的</web-app>标签上增加以下内容: <Error-page> <exception-type>java.lang.Throwable</exception-type> <location>/error.jsp</location> </error-page> <Error-page> <error-code>500</error-code> <location>/myError500.jsp</location> </error-page> 一般开发者应该多界说几个 error code 的自界说界面,而不是运用 tomcat 界说的 error.jsp 禁用 Tomcat Admin console 删去 webapps 目录下 Tomcat 原有的一切内容 删去 conf/Catalina/localhost/下的 host-manager.xml 和 manager.xml 这两个文件 Tomcat 办理操控台, http://server/manager/html 能够启停布置运用。一般状况下咱们不需求该功用,所以主张删去。 制止 Tomcat 列目录 <init-param>     <param-name>listings</param-name>     <param-value>false</param-value> </init-param> 新版 tomcat 默许为制止 Tomcat 弱口令 Tomcat 的 tomcat-users.xml 装备文件,<tomcat-users> 明文硬编码弱口令,至少要修正口令。 tomcat-users.xml 文件是用来存储 Tomcat 预加载的用户和人物界说的。 Tomcat 或许存在的弱口令: Tomcat/tomcat  Admin/空  Admin/admin  Admin/123456 注: Windows 装置版有此缝隙 Linux 渠道及 Windows 渠道免装置版别没有此缝隙。

安满是一个全体,静态代码审计能够针对 Web 高危缝隙,排查 Java 代码缺点,还能加固出产环境装备。可是静态代码审计不是银弹,不能发现并处理 IT 安全、事务逻辑安全缝隙,不能发现 WebGoat 展示的一切问题。比方 WebGoat 的“Improper Error Handling”事例展示的一个命名为 FailOpen 的逻辑缝隙。进犯者网络抓包,删去页面元素 password,最终重放报文。服务器程序代码只验证 password 内容的合法性,而没有处理 password 元素不存在的状况。进犯者达到目的。这样的问题,静态代码扫描东西不能发现,人工审计也不容易发现。这时白盒审计要和黑盒浸透结合进行。

 

结束语

本系列用 WebGoat 工程演示怎么展开源代码审计,捕获高危缝隙:跨站、SQL 注入、文件操作。WebGoat 是 OWASP 安排精心设计的 Java Web 缝隙演示渠道,缺点代码特征显着,污染传达途径明晰,防护代码故意不予完成,是施行审计的杰出教材。

实际的 Java Web 工程的源代码审计除了要扫描服务器端代码,还需求全盘考虑以下几点:

1. 服务器装备和安全架构,比方假如是根据 Spring Security,要审计 Spring Security 结构。比方假如 SQL 运用了 iBATIS 结构,要审计 iBATIS 的安全装备办法。

2. 审计至少两次。由于初审整改计划的施行还有或许犯错。比方输入过滤器尽管增加可是过滤集不完整,比方数据库预编译尽管增加可是运用办法不正确。二审能发现这些疏忽。

3. 客户端技能一日千里,除了 Web browser 还将包含 client 和移动 App。长途操控和资源未开释是移动客户端比较常见的缝隙,将来要加强要点审计。

经过本系列,Java 开发者和安全审计师能取得审计思路的培训。首要扫描 JavaWeb 工程源码,白盒剖析 source-path-sink,定位系统缝隙;再在已布置施行的工程出产环境中,展开浸透进犯,展示缝隙使用;最终对部分缝隙给出整改主张。整改计划不仅仅供给了快速施行的代码段,开发者能够在 WebGoat 工程中马上完成验证整改作用,还进一步解说了整改的原理和其他或许代替的办法以及出产环境安全加固。

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/106716.html

分享给朋友:

“Java Web 工程源代码安全审计实战,第 4 部分: 环境加固” 的相关文章

黑客追款出款成功再收费「24小时在线的黑客追款」

据公务员期刊网2021年10月14日18:37:49的最新发布,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全网热议! 据悉,黑客追款出款成功再收费。可能没有机会接触到钱。那时候我就有想过退步。 一、黑客追回网赌40万 首先确保整个无前期费用黑客追款方案是最有效的,在做一件黑客...

创业板投资风险揭示书,创业板风险揭示书

保荐机构(主承销商):中泰证券股份有限公司 苏州天路光科技股份有限公司(以下简称“天路科技”、“发行人”或“公司”)首次公开发行不超过2579万股普通股(a股)(以下简称“本次发行”)的申请,已经深圳证券交易所(以下简称“深交所”)创业板上市委员会委员审议通过,并经中国证券监督管理委员会(以下...

Webshell安全检测篇(1)-根据流量的检测方法

一、概述 笔者一直在重视webshell的安全剖析,最近就这段时刻的心得体会和咱们做个共享。 webshell一般有三种检测办法: 依据流量方法 依据agent方法(本质是直接剖析webshell文件) 依据日志剖析方法 Webshell的分类笔者总结如下: 前段时...

一年黄金价格走势图(黄金价格实时走势图分析

2019年金价将迎来上涨荷兰银行,2018年黄金市场或许不会有太好的表现,是一种软的,你可以随时来平台内查询。 金道贵金属,日交易k线图构成周交易k线图,此时段间,即开始疲软下跌,2016年06月06日老凤祥价格可,黄金价格走势K线图盘面,整体的价格走势是由每天的交易组成的,24kinfo这个平台的...

纯钛多少钱一斤,钛合金回收多少钱一斤

1000/粗晶只要700/纯钛是银白色的金属,1点5钛板,钛合金它是α相固溶体组成的单相合金,行情非常低迷,TC4细晶也就。 金属钛回收价格随着钛的市场价变化而变化,楼上的价格是从哪儿来的。不同型号,各类价格如何?请高手相助!至于合金钛,不同地区价格也不一样,52000一吨遵义的海绵钛。 元-30元...

二手路虎极光 「2015路虎极光二手车报价」

样子车而已论性能都有点给路2015虎家族丢脸了感觉如果选择这车还真不如选择霸道VX顶配69万那款实惠推荐其他车的话途锐很好Q7虽然多了点但是很值得考虑一下的这个价位如果讨论轿车的话上不了A8L和,公里数等。火烧。 二手车价格:41点00万,2013极光款2点0T AT圣诞限量版,车子没有。 2015...

评论列表

弦久晚鲸
3年前 (2022-07-05)

web.xml 的</web-app>标签上增加以下内容: <Error-page> <exception-type>java.lang.Throwable<

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。