通过HTTP头部字段防御措施整理

X-Frame-Options #反劫持
X-XSS-Protection #开启浏览器防XSS功能 Set X-Frame-Options 
CSP
X-Content-Type-Options: nosniff #改会影响浏览器的行为,过滤掉敏感文件
Content-Encoding #Breach攻击
robots.txt

注入

预编译

文件上传

后端代码限制上传的文件类型(类型&后缀)和大小
强制给上传的文件添加后缀名

命令执行

禁用或过滤代码执行函数

XSS

对cookie的保护
对重要的cookie设置httpOnly, 防止客户端通过document.cookie读取cookie。服务端可以设置此字段。
对用户输入数据的处理
编码/解码:不能对用户输入的内容都保持原样,对用户输入的数据进行字符实体编码,原样显示内容必须解码

正则匹配

过滤:把输入的一些不合法的东西都过滤掉,从而保证安全性。如移除用户上传的DOM属性,如onerror,移除用户上传的Style节点,iframe, script节点等

对指向资源处理

nofollow技术

CSRF

验证 HTTP Referer 字段
在请求地址中添加 Token 并验证
在 HTTP 头中自定义属性并验证

XXE

使用开发语言提供的禁用外部实体的方法

PHP
 libxml_disable_entity_loader(true); JAVA
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false); Python  
过滤用户提交的XML数据
过滤关键词:<!DOCTYPE和!ENTITY,或者SYSTEM和PUBLIC

poodle漏洞

修复方案参考:(三选一即可)    ​    ​
()禁用443端口(如不需要使用该端口)
()防火墙屏蔽对443端口的访问(或设置白名单访问策略,限制为部分IP访问该端口)
()对SSLv3版本禁用,具体针对服务部分,可参考如下建议:
.stunnel服务修复:/usr/sbin/stunner /etc/xensourse/xapi-ssl.conf 在xapi-ssl.conf钟compression=zlib后面加入一行 options=NO_SSLv3 重启stunnel
.tomcat服务修复:https://www.cnblogs.com/lsdb/p/7193291.html
检测是否生效:可以是通过在线检测工具https://wosign.ssllabs.com/(外网)来进行检测;https://www.cnblogs.com/Bluesky-bk/p/10059991.html(内网)
.apache禁用:http://www.heminjie.com/network/2132.html
.nginx禁用:http://www.heminjie.com/network/2132.html
.IIS禁用:https://www.daimabiji.com/serverknowledge/234.html

apache httponly cookie信息泄露

方案一:(推荐)
升级到 Apache Httpd 2.2. 或更高版本。
方案二:
.打开 httpd 的配置文件(默认为 httpd.ini),定位到 ErrorDocument400,并在后面加上一段自定义内容,如ErrorDocument400 ”error page!”。
.保存配置文件,重启 httpd 服务后配置生效。
受影响版本:2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2., 2.2.

SVN源码泄漏漏洞

删除服务器上所有的.SVN文件夹,升级SVN到1.7以上版本,严格使用导出功能,过滤/.svn/文件 

elasticsearch远程命令执行

在配置文件:elasticsearch.yml中设置:script.disable_dynamic:true

IIS PUT漏洞

禁用webdav服务

phpmoaadmin远程代码执行

更换mongoDB管理工具

solr未授权访问

设置白名单,限制solr后台访问 

Apache Axis2本地文件包含漏洞

禁止用户远程加载axis2.xml等文件

fastcgi文件读取漏洞

修改php.ini文件,将cgi.fixpathinfo的值设为0

zabbix jsrpc sql注入漏洞

将zabbix升级到3..4或以上

activemq后台弱密码漏洞

设置为强密码

struts2远程命令执行

升级struts2到最新版本

hudson未授权访问漏洞

使用强密码,限制可登录Hudson后台的IP

jenkins未授权访问漏洞

使用强密码,限制可登录jenkins后台的IP,在Jenkins管理页面添加访问密码;建议您不要将管理后台开放到互联网上。您可以使用ECS安全组策略设置访问控制,默认策略为拒绝所有通信。您可以根据业务发布情况仅开放需要对外用户提供的服务,并控制好访问源IP

git目录泄漏漏洞

删除所有/.git/目录

tomcat样例目录泄漏导致session欺骗漏洞

删除tomcat的/examples/目录或禁止访问

cve-2017-7269

Date
2017 类型
溢出导致远程代码执行 影响范围
Windows Server 2003 SP2 + IIS6 + WebDav + PUT 复现
需将rb模块导入并重命名为 cve_2017_7269

修复
禁用IIS 下的WebDAV服务http://www.webkaka.com/tutorial/iis/2017/033020/

resin任意文件读取漏洞

升级resin到最新版本

ccs注入漏洞

JAVA rmi 反序列化漏洞

升级补丁ACC 3.2.:https://commons.apache.org/proper/commons-collections/download_collections.cgi

tomcat管理后台弱密码

更改tomcat后台密码,限制可以登录tomcat后台的IP

activemq任意文件上传漏洞

升级activemq,或删除fileserver配置项,可参考官方公告:http://activemq.apache.org/security-advisories.data/CVE-2015-1830-announcement.txt

CVE-2017-7529整数溢出漏洞

升级nginx,可参考:http://nginx.org/en/download.html
如果您的Nginx服务受某些因素限制,暂时无法升级到上述最新版本。建议您采取以下漏洞临时缓解措施进行防御:
即,在Nginx的配置文件nginx.conf中,将max_ranges设置为1。形如:max_ranges ;https://help.aliyun.com/knowledge_detail/56769.html

weblogic反序列化漏洞补丁绕过( CVE-2016-0638,CVE-2016-3510,CVE-2017-3248)

升级weblogic到最新版本:http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html

apache options bleed内存泄漏漏洞

如果服务器使用了apache,请升级到最新版本,参考链接:http://www.4hou.com/vulnerable/7794.html

zabbix latest sql注入漏洞

将zabbix升级到最新版( .禁用Guest账户  .升级zabbix版本(除2..x、3.0.-3.0.3之外版本 )

CVE-2017-1000353

将jenkins升级到2.57以上

Tomcat 任意写文件漏洞

将 conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true

jboss反序列化漏洞

安装补丁或将中间件更新到最新版本

jenkins反序列化漏洞

安装补丁或将中间件更新到最新版本

websphere反序列化漏洞

安装补丁或将中间件更新到最新版本

ST2-052漏洞

升级到最新版本

node.js v8 debugger 远程命令执行

将node.js更新到最新版本

shiro-550反序列化漏洞

升级 Shiro 版本至 1.2. 以上

weblogic ssrf漏洞

升级weblogic到10..6之后的版本

jbossmq jms集群反序列化漏洞

对路径:/jbossmq-httpil/HTTPServerILServlet作访问控制,禁止必要人员之外的IP访问

CVE-2017-12149 JBOSS AS 6.X反序列化漏洞

对路径/invoker/readonly做访问控制,或升级JBoss AS 到 

CVE-2017-10271 WebLogic XMLDecoder反序列化漏洞

升级Oracle 10月份补丁:http://www.oracle.com/technetwork/security-advisory/cpuoct2017verbose-3236627.html

openssldrown

禁止服务器端的sslv2支持。如果是Openssl,请查看OpenSSL官方给出的修复指南。
https://www.openssl.org/blog/blog/2016/03/01/an-openssl-users-guide-to-drown/

weblogic反序列化漏洞(CVE-2018-2628)

禁止服务器端的sslv2支持。如果是Openssl,请查看OpenSSL官方给出的修复指南。
https://www.openssl.org/blog/blog/2016/03/01/an-openssl-users-guide-to-drown/

axis2弱密码

为axis2配置强密码,或只允许特定IP访问
修改Axis2默认账户名与口令,具体位置在axis2中的conf.xml文档中,修改如下两行代码。 <parameter name="userName">admin</parameter> <parameter name="password">axis2</parameter>

memcache未授权访问漏洞/couchdb未授权访问漏洞/grafana弱密码/phpmyadmin弱密码

配置强密码,或只允许特定IP访问

activemq远程命令执行

升级至 5.14. 及其以后版本

weblogic反序列化漏洞(cve-2018-2893)

升级oracle最新补丁,http://www.oracle.com/technetwork/security-advisory/cpujan2017-2881727.html

hudson代码泄露漏洞

增加Hudson权限验证,或只允许特定IP访问Hudson后台

memcache drdos漏洞

将memcache升级到最新版,并增强权限控制

Elasticsearch任意文件读取

升级Elasticsearch到高版本

Elasticsearch未授权访问漏洞 # _cat/indices     #  /_river/_search 查看数据库敏感信息        # /_nodes 查看节点数据   # _plugin/head/ web管理界面

 
为Elasticsearch配置强密码,或只允许特定IP访问,参考链接:https://blog.csdn.net/qq_28429443/article/details/81167123
修复方案:
、限制IP访问,绑定固定IP
、在config/elasticsearch.yml中为9200端口设置认证:
  http.basic.enabled true #开关,开启会接管全部HTTP连接
  http.basic.user "admin" #账号
  http.basic.password "admin_pw" #密码
  http.basic.ipwhitelist ["localhost", "127.0.0.1"]
、 增加验证,官方推荐并且经过认证的是shield插件,该项目为收费项目,可以试用30天。网络中也有免费的插件,可以使用elasticsearch-http-basic,searchguard插件。
Shield 可以通过bin/plugin install [github-name]/[repo-name] 形式安装。
、 使用Nginx搭建反向代理,通过配置Nginx实现对Elasticsearch的认证。
、 如果是单台部署的Elasticsearch,9200端口不要对外开放。
、 使用1..1以上的版本。在1..1以上版本目前还没有爆出过相关漏洞。
、 另外elasticsearch的官方也有其他产品与Elasticsearch配合紧密的,这些产品也存在漏洞,企业如果有使用其他相关产品存在漏洞也要进行修复,如Logstash,Kibana。
、 加强服务器安全,安装防病毒软件,使用防火墙,网站安装WAF.并对数据库,系统,后台,使用的服务设置复杂的密码,建议设置16位的大小写字母+特殊字符+数字组合。

JBoss HEAD绕过漏洞

升级JBOSS到较新版本

JBOSS信息泄露漏洞 

升级JBOSS到4..3以后的版本 

rsync未授权访问

为rsync配置强密码,或只允许特定IP访问,read_only设置为true
https://help.aliyun.com/knowledge_detail/51079.html
.修改rsync服务的默认监听端口873,参考命令:“ /usr/local/rsync/bin/rsync --port=自定义端口 --daemon” ;
.限制登录IP,在配置文件(/etc/rsync.conf)中修改配置,找到“hosts allow= ”这一项设置可以运行访问的主机或主机段,IP间用空格隔开;
.配置认证用户名和密码,在配置文件(/etc/rsync.conf)中修改配置,找到"auth users= "(认证用户名:独立用户)进行配置,同时对“secrets file = /etc/rsync/passwd”(用户名密码文件,建议权限设置为600),密码文件内容格式为username:password。

rsync部分目录未授权访问或弱密码

为rsync配置强密码,或只允许特定IP访问

weblogic接口信息泄露漏洞

weblogic升级到最新版本或只允许特定IP访问

JBoss 4.2.0 BSHDeployer 代码执行漏洞

将jboss升级到最新版本

zookeeper未授权访问漏洞

禁止把Zookeeper直接暴露在公网
为zookeeper配置强密码或限制IP访问
配置CLI访问 复现





apt-get install zookeeper


workspace项目配置信息泄露

删除网站文件夹中的workspace.xml文件

.htaccess文件泄露

禁止网站的访问用户直接查看.htaccess文件

phpinfo文件泄露

删除网站文件夹中的phpinfo()文件

apache mod_jk访问控制绕过漏洞(cve-2018-11759)

将apache mod_jk更新到1..46或更新的版本(https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.zip)

couchdb版本小于2.1.0导致权限绕过及远程代码执行漏洞

将couchdb升级到1..0或2..0以后的版本

apache服务器运行状态信息泄露

仅允许特定IP访问/server-status/页面
修改httpd.conf,在最后加上server-status的配置:
<IfModule status_module>
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
#Allow from all
</Location>
</IfModule>
上面的配置指定的是禁止访问server-status,如果你想开启server-status,在Deny from all前面加上#,去掉Allow from all前面的#即可。

Kubernetes权限升级漏洞(CVE-2018-1002105)

官方推荐的最佳的修复方案是及时升级到:Kubernetes v1.10.11 或   Kubernetes v1.11.5  或   Kubernetes v1.12.3  或   Kubernetes v1.13.0-rc.

IIS短文件名


禁用windows系统中的短文件名功能。
打开注册表并打开此目录 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
修改 NtfsDisable8dot3NameCreation 的值为1 。
修改完成后,需要重启系统生效。 ) Windows Server R2
查询是否开启短文件名功能:fsutil 8dot3name query
关闭该功能:fsutil 8dot3name set Windows Server
关闭该功能:fsutil behavior set disable8dot3 ) CMD关闭NTFS .3文件格式的支持 举例:(1代表关闭,0代表开启) Windows Server R2: 查询是否开启短文件名功能:fsutil 8dot3name query 关闭该功能:fsutil 8dot3name set Windows Server : 关闭该功能:fsutil behavior set disable8dot3 不同系统关闭命令稍有区别,该功能默认是开启的,对于大多数用户来说无需开启。 ) 修改注册表禁用短文件名功能 快捷键Win+R打开命令窗口,输入regedit打开注册表窗口 找到路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的 NtfsDisable8dot3NameCreation这一项的值设为 ,1代表不创建短文件名格式 修改完成后,需要重启系统生效 注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要重新复制才会消失。 以下两种方法仅适用于缓解GET 方法,其他方法依旧可以猜解。 ) 关闭Web服务扩展- ASP.NET ) 升级netFramework至4.0以上版本

JBoss未授权访问

https://www.cnblogs.com/hackxf/p/8951699.html
https://www.cnblogs.com/hackxf/p/8951699.html
https://www.secpulse.com/archives/24298.html
.在
${jboss.server.home.dir}/deploy下面找到jmx-console.war目录编辑WEB-INF/web.xml文件
去掉 security-constraint 块的注释,使其起作用 .编辑WEB-INF/classes/jmx-console-users.properties或server/default/conf/props/jmx-console-users.properties
(version &gt;=4.0.)和 WEB-INF/classes/jmx-console-roles.properties 或server/default/conf/props/jmx-console-roles.properties(version
&gt;=4.0.) 添加用户名密码 .编辑WEB-INF/jboss-web.xml去掉 security-domain 块的注释 ,security-domain值的映射文件为
login-config.xml (该文件定义了登录授权方式)

mongodb未授权访问漏洞

https://www.cnblogs.com/liqing1009/p/6282454.html
https://www.jianshu.com/p/7448708e6d73
.改端口 .设置登录账号(本来没有账号)

snmp默认团体名/弱口令漏洞(161端口漏洞)

http://blog.sina.com.cn/s/blog_14c1fefb00102z27d.html

drupal注入

zookeeper

应用安全-Web安全-漏洞修复方案整理的更多相关文章

  1. URL存在http host头攻击漏洞-修复方案

    URL存在http host头攻击漏洞-修复方案 spring boot使用注解的方式 -- 第一步:在自定义filter类上添加如下注释 package com.cmcc.hy.mobile.con ...

  2. 【渗透测试】NSA Windows 0day漏洞+修复方案

    这个漏洞是前段时间爆出来的,几乎影响了全球70%的电脑,不少高校.政府和企业都还在用Windows服务器,这次时间的影响力堪称网络大地震. ------------------------------ ...

  3. Struts2 高危漏洞修复方案 (S2-016/S2-017)

    近期Struts2被曝重要漏洞,此漏洞影响struts2.0-struts2.3所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大,受影响站点以电商.银行.门户.政府居多. 官方描述:S2 ...

  4. 网站sql注入漏洞修复方案之metinfo 6.1.0系列

    近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数 ...

  5. DEDECMS 漏洞修复方案

    目录 DEDECMS支付模块注入漏洞 漏洞文件: /include/payment/alipay.php 漏洞描述: 对输入参数$_GET['out_trade_no']未进行严格过滤 修复方案: 对 ...

  6. Web常见漏洞修复建议

    一.SQL注入修复建议 1.过滤危险字符,例如:采用正则表达式匹配union.sleep.and.select.load_file等关键字,如果匹配到则终止运行. 2.使用预编译语句,使用PDO需要注 ...

  7. struts2架构网站漏洞修复详情与利用漏洞修复方案

    struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开 ...

  8. Linux Glibc库严重安全漏洞修复方案通知(腾讯开发者社区)

    如何查看当前glibc的版本号? rpm -aq | grep glibc 尊敬的用户:       您好!2015年1月28日, 腾讯云安全情报监测到LinuxGlibc库存在一处严重安全漏洞,可以 ...

  9. 【渗透测试】Squirrelmail远程代码执行漏洞+修复方案

    最近网上有点不太平,爆出各种漏洞,等下会把近期的漏洞复现一下,发出来.安全圈的前辈总是默默的奉献,在这里晚辈们只能站在巨人的肩膀上,跟紧前辈们的步伐,走下去. -------------------- ...

随机推荐

  1. 洛咕 【P1891】疯狂LCM & 三倍经验

    经验给掉先: 经验*1 经验*2 经验*3 这里给个跑得比较慢的 \(n \sqrt n\) 预处理然后 \(O(1)\) 回答询问的做法 式子 首先我们推柿子: \[\begin{aligned}A ...

  2. 2019-3-9-通过-frp-开启服务器打开本地的-ZeroNet-服务器外网访问

    title author date CreateTime categories 通过 frp 开启服务器打开本地的 ZeroNet 服务器外网访问 lindexi 2019-03-09 11:47:4 ...

  3. CentOS 系统开启防火墙,屏蔽IP,解决DDOS攻击

    刚才发现网站特别慢,然后看了一下服务器状态 CPU 负载100%. 然后看了下网络,发现一个IP一直在请求本服务器的 443 端口,就是本站. 然后在终端通过 iftop 命令(一个流量健康软件,如果 ...

  4. 记录cobbler报错

    出现下面这个错误解决方法 httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Ori ...

  5. 浅谈ContextLoaderListener及其上下文与DispatcherServlet的区别

    一般在使用SpingMVC开发的项目中,一般都会在web.xml文件中配置ContextLoaderListener监听器,如下: <listener> <listener-clas ...

  6. php io

    1.获取目录下文件,不包括子目录 //获取某目录下所有文件.目录名(不包括子目录下文件.目录名) $handler = opendir($dir); while (($filename = readd ...

  7. 在 CentOS 上部署 GitLab (自托管的Git项目仓库)

    参考资料https://github.com/mattias-ohlsson/gitlab-installer/blob/master/gitlab-install-el6.sh 环境准备OS: Ce ...

  8. rest认证组件,权限组件,频率组件,url注册器,响应器组件,分页器组件

    1.认证组件 1.1 认证组件利用token来实现认证 1.2 token认证的大概流程 用户登录===>获取用户名和密码===>查询用户表 如果用户存在,生成token,否则返回错误信息 ...

  9. Github熟悉一

    Code/代码 Commits/提交 Issues/问题 Packages/包装 Marketplace/市场 Topics/话题 Wikis/维基百科 Users/用户 Pull requests/ ...

  10. springboot+thymeleaf 访问静态资源解决(static)

    ---------------------------------------2.1.3-------------------------------------------------------- ...