1.CSRF
系统包头文件需要交验refer参数,参数不能被删除。
解决方案:添加RefererFilter过滤器,
package com.ppms.filter;
/*** 功能:系统包头文件需要交验refer参数,参数不能被删除*/
public class RefererFilter implements Filter { public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub }public void doFilter(ServletRequest args0, ServletResponse args1, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)args0; HttpServletResponse response = (HttpServletResponse)args1;// 链接来源地址 String referer = Header("Referer"); //System.out.println(referer);if (referer!=null&&!ServerName())) { //如果 链接地址来自其他网站,则返回错误页面 RequestDispatcher("/webext/detailerror.jsp").forward(request, response); }else { chain.doFilter(request, response); } }public void destroy() { // TODO Auto-generated method stub }
}
在l中配置过滤器
<filter><filter-name>RefererFilter</filter-name><filter-class>com.ppms.filter.RefererFilter</filter-class></filter><filter-mapping><filter-name>RefererFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
2.XSS与SQL注入
解决方案:编写过滤器如下压缩包
在l中配置如下<filter><filter-name>XssFilter</filter-name><filter-class>com.ppms.HtmlSqlJsUrlFilter.XssFilter</filter-class></filter><filter-mapping><filter-name>XssFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
下载链接:源码下载链接
3.IP伪造
抓包工具抓取链接,Host后面添加:X-Forwarded-For:1.1.1.1
解决方案:用如下方法获取ip即可
/*** @description 获取客户端ip * @author wyq* @date 2013-11-26*/public String getIpAddr(HttpServletRequest request) {String ip = RemoteAddr();if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = Header("Proxy-Client-IP");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = Header("x-forwarded-for");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = Header("WL-Proxy-Client-IP");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = RemoteAddr();}return ip;}
4.附件相关漏洞
【1】删除附件时可以查看到绝对路径 解决方案:删除附件只能用附件的id删除
【2】上传可执行的脚本jsp,txt等
解决方案:限制上传文件的类型,前后台都要校验,最好把文件类型改为可配置
5.weblogic容器漏洞
【1】后台路径泄露ip:port/console 解决方案:禁用console访问路径,
D:OracleMiddlewareuser_projectsdomainsserver_domainl中修改console配置为false,或在控制台修改
【2】禁用T3协议 解决方案:进行如下配置 weblogic.security.ConnectionFilterImpl
127.0.0.1 * * allow t3 t3s
0.0.0.0/0 * * deny t3 t3s
【3】不安全的请求头
【4】java.data.valueOf() 驱动版本问题导致时间都变为1970年
需更换weblogic目录:C:OracleMiddlewarewlserver_10.3serverlib的ojdbc驱动
然后在目录:C:OracleMiddlewarewlserver_10.3commond文件中
set WEBLOGIC_CLASSPATH=%JAVA_HOME% 后引入新的驱动包
【5】打补丁方式
参考博客:
/
6.不安全的http方法
【1】应用项目有此问题处理如下:在l中加入如下代码,禁用不安全的http方法
<security-constraint><web-resource-collection><web-resource-name>fortune</web-resource-name><url-pattern>/*</url-pattern><http-method>PUT</http-method><http-method>DELETE</http-method><http-method>HEAD</http-method><http-method>OPTIONS</http-method><http-method>TRACE</http-method></web-resource-collection><auth-constraint></auth-constraint></security-constraint><login-config><auth-method>BASIC</auth-method></login-config>
【2】weblogic容器有此问题,处理如下
打开Weblogic的D:oracleMiddlewarewlserver_10.3serverlib并找到以下三个war包
bea_wls_deployment_internal.war
bea_wls_management_internal2.war
bea_wls_diagnostics.war
在此三个war包中的l中加入如下配置
<security-constraint><web-resource-collection><web-resource-name>fortune</web-resource-name><url-pattern>/*</url-pattern><http-method>PUT</http-method><http-method>DELETE</http-method><http-method>HEAD</http-method><http-method>OPTIONS</http-method><http-method>TRACE</http-method></web-resource-collection><auth-constraint></auth-constraint></security-constraint><login-config><auth-method>BASIC</auth-method></login-config>
备注:其它war包测试时如果有问题,同样方法处理。
7.开放端口过多
解决方案:使用nmap扫描应用服务器的tcp开放端口,打开防火墙配置无关端口关闭
8.SSL版本太低
weblogic9.2版本解决方案:
编辑$DOMAIN_HOME/bin目录下的setDomainEnv.sh文件,找到 JAVA_OPTIONS="${JAVA_OPTIONS}“处,如:JAVA_OPTIONS=”${JAVA_OPTIONS} - Djava.preferIPv4Stack=true - Dweblogic.security.SSL.protocolVersion=TLS1" 指定SSL的使用版本
weblogic10.3.6及以上版本解决方案
编辑$DOMAIN_HOME/bin目录下的setDomainEnv.sh文件,找到 JAVA_OPTIONS="${JAVA_OPTIONS}“处,如:JAVA_OPTIONS=”${JAVA_OPTIONS} - Djava.preferIPv4Stack=true - Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.0"–限定SSL的最低使用版本
9.SSRF
SSRF漏洞:启动服务后删除weblogic域下severs/服务名/tmp/_WL_internal目录下 的uddi文件夹和uddiexplorer文件夹;删除所有节点,删除后再访问系统(安全测试 存在漏洞解决方案: 删除weblogic/bea/weblogic92/server/lib下的uddi.properties、uddi.war 、 uddiexplorer.war这三个文件存在漏洞)下面地址不能正常访问才可
修复完成后需要清除weblogic缓存
ip:port/uddiexplorer/SearchPublicRegistries.jsp ip:port/uddiexplorer/SearchPrivateRegistries.jsp ip:port/uddiexplorer/PublishToPrivateRegistry.jsp ip:port/uddiexplorer/SetupUDDIExplorer.jsp ip:port/uddi/uddilistener ip:port/uddi
注:未经本人允许不得转载,相关附件源码请联系QQ:473664742
本文发布于:2024-02-01 19:56:03,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170678856539076.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |