应用安全-Web安全-漏洞修复方案整理
通过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 >=4.0.)和 WEB-INF/classes/jmx-console-roles.properties 或server/default/conf/props/jmx-console-roles.properties(version
>=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安全-漏洞修复方案整理的更多相关文章
- URL存在http host头攻击漏洞-修复方案
URL存在http host头攻击漏洞-修复方案 spring boot使用注解的方式 -- 第一步:在自定义filter类上添加如下注释 package com.cmcc.hy.mobile.con ...
- 【渗透测试】NSA Windows 0day漏洞+修复方案
这个漏洞是前段时间爆出来的,几乎影响了全球70%的电脑,不少高校.政府和企业都还在用Windows服务器,这次时间的影响力堪称网络大地震. ------------------------------ ...
- Struts2 高危漏洞修复方案 (S2-016/S2-017)
近期Struts2被曝重要漏洞,此漏洞影响struts2.0-struts2.3所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大,受影响站点以电商.银行.门户.政府居多. 官方描述:S2 ...
- 网站sql注入漏洞修复方案之metinfo 6.1.0系列
近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数 ...
- DEDECMS 漏洞修复方案
目录 DEDECMS支付模块注入漏洞 漏洞文件: /include/payment/alipay.php 漏洞描述: 对输入参数$_GET['out_trade_no']未进行严格过滤 修复方案: 对 ...
- Web常见漏洞修复建议
一.SQL注入修复建议 1.过滤危险字符,例如:采用正则表达式匹配union.sleep.and.select.load_file等关键字,如果匹配到则终止运行. 2.使用预编译语句,使用PDO需要注 ...
- struts2架构网站漏洞修复详情与利用漏洞修复方案
struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开 ...
- Linux Glibc库严重安全漏洞修复方案通知(腾讯开发者社区)
如何查看当前glibc的版本号? rpm -aq | grep glibc 尊敬的用户: 您好!2015年1月28日, 腾讯云安全情报监测到LinuxGlibc库存在一处严重安全漏洞,可以 ...
- 【渗透测试】Squirrelmail远程代码执行漏洞+修复方案
最近网上有点不太平,爆出各种漏洞,等下会把近期的漏洞复现一下,发出来.安全圈的前辈总是默默的奉献,在这里晚辈们只能站在巨人的肩膀上,跟紧前辈们的步伐,走下去. -------------------- ...
随机推荐
- [BZOJ 2301] [HAOI 2011] Problem b (莫比乌斯反演)(有证明)
[BZOJ 2301] [HAOI 2011] Problem b (莫比乌斯反演)(有证明) 题面 T组询问,每次给出a,b,c,d,k,求\(\sum _{i=a}^b\sum _{j=c}^d[ ...
- Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 (转)
阅读前提:本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS.ReentrantLock.UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍.Jav ...
- python Opencv图像基础操作
读取并显示图像 如果读取图像首先要导入OpenCV包,方法为: import cv2 读取并显示图像 img = cv2.imread("C:\test1.jpg") OpenCV ...
- docker安装各种坑
今天记录一下之前安装docker遇到的各种坑. 我们从http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/这个网站下载. 下 ...
- CSS3 Animations
CSS Animations 是CSS的一个模块,它定义了如何用关键帧来随时间推移对CSS属性的值进行动画处理.关键帧动画的行为可以通过指定它们的持续时间,它们的重复次数以及它们如何重复来控制. an ...
- MySQL数据库的自动备份与数据库被破坏后的恢复1
一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. ...
- Flask中的中间件
flask也有和Django类似的中间件,不同的是使用三个装饰器来实现的. .berore_request在请求进入视图之前 @app.before_request def be1 bef be2 b ...
- No module named flask 导包失败,Python3重新安装Flask模块
在部署环境过程中,通过pip install -r requirements.txt安装包,结果启动项目时总是报错,显示没有flask模块,通过pip install flask还是不行,于是下载fl ...
- DGA域名检测
一.DGA域名原理 僵尸网络(Botnet):互联网上在蠕虫.木马.后门工具等,传统恶意代码形态的基础上发展.融合而产生的一种新型攻击方法. DNS(Domain Name System) :基于 U ...
- ht-7 treeSet特性
TreeSetTreeSet可以对set集合中的元素进行排序,默认按照asic码表的自然顺序排序,之所以treeset能排序是因为底层是二叉树,数据越多越慢,TreeSet是依靠TreeMap来实现的 ...