web系统常见的渗透问题

阅读: 评论:0

web系统常见的渗透问题

web系统常见的渗透问题

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小时内删除。

标签:常见   系统   web
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23