通过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

使用开发语言提供的禁用外部实体的方法PHPlibxml_disable_entity_loader(true);JAVADocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences(false);Python  
过滤用户提交的XML数据
过滤关键词:<!DOCTYPE和!ENTITY,或者SYSTEM和PUBLIC

poodle漏洞

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

View Code

apache httponly cookie信息泄露

方案一:(推荐)
升级到 Apache Httpd2.2.22或更高版本。
方案二:1.打开 httpd 的配置文件(默认为 httpd.ini),定位到 ErrorDocument400,并在后面加上一段自定义内容,如ErrorDocument400 ”error page!”。2.保存配置文件,重启 httpd 服务后配置生效。
受影响版本:2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

View Code

SVN源码泄漏漏洞

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

View Code

elasticsearch远程命令执行

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

View Code

IIS PUT漏洞

禁用webdav服务

View Code

phpmoaadmin远程代码执行

更换mongoDB管理工具

solr未授权访问

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

Apache Axis2本地文件包含漏洞

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

fastcgi文件读取漏洞

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

zabbix jsrpc sql注入漏洞

将zabbix升级到3.0.4或以上

activemq后台弱密码漏洞

设置为强密码

struts2远程命令执行

升级struts2到最新版本

hudson未授权访问漏洞

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

jenkins未授权访问漏洞

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

git目录泄漏漏洞

删除所有/.git/目录

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

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

IIS6远程代码执行漏洞

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

resin任意文件读取漏洞

升级resin到最新版本

ccs注入漏洞

JAVA rmi 反序列化漏洞

升级补丁ACC 3.2.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_ranges1;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升级到最新版( 1.禁用Guest账户  2.升级zabbix版本(除2.2.x、3.0.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.5 以上

weblogic ssrf漏洞

升级weblogic到10.3.6之后的版本

jbossmq jms集群反序列化漏洞

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

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

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

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>

View Code

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

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

activemq远程命令执行

升级至 5.14.0 及其以后版本

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

View Code

JBoss HEAD绕过漏洞

升级JBOSS到较新版本

JBOSS信息泄露漏洞

升级JBOSS到4.2.3以后的版本 

rsync未授权访问

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

View Code

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

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

weblogic接口信息泄露漏洞

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

JBoss 4.2.0 BSHDeployer 代码执行漏洞

将jboss升级到最新版本

zookeeper未授权访问漏洞

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

workspace项目配置信息泄露

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

.htaccess文件泄露

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

phpinfo文件泄露

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

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

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

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

将couchdb升级到1.7.0或2.1.0以后的版本

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

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

View Code

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

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

IIS短文件名

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

View Code

JBoss未授权访问

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

View Code

mongodb未授权访问漏洞

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

View Code

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

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

drupal注入

转载于:https://www.cnblogs.com/AtesetEnginner/p/11277471.html

应用安全-Web安全-漏洞修复方案整理相关推荐

  1. 常见web安全漏洞修复方案(全面)

    第一章 SQL注入漏洞 第一节 漏洞介绍 概述:SQL注入攻击包括通过输入数据从客户端插入或"注入"SQL查询到应用程序.一个成功的SQL注入攻击可以从 数据库中获取敏感数据.修改 ...

  2. 移动端安全 - 安卓Android - 漏洞修复方案整理

    敏感数据泄露 明文传输用户名.密码和验证码等敏感信息 MD5/Base64弱加密传输手机.密码等敏感信息 敏感信息在本地加密存储 后台服务器地址泄露. 边信道信息泄漏 在日志中对于密码等敏感信息进行加 ...

  3. Struts2漏洞修复方案

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

  4. java+poodle漏洞修复_SSL3.0 POODLE漏洞修复方案

    SSL3.0 POODLE漏洞修复方案 发布时间:2014-10-15 15:02:27 关于SSLPOODLE漏洞 POODLE = Padding Oracle On Downgraded Leg ...

  5. web安全漏洞加固方案简析

    2019独角兽企业重金招聘Python工程师标准>>> 本文比较粗糙,作用是引领大家认识web安全漏洞并根据自己参与的安全加固工作提供一些解决思路. 开始--安全扫描报告 Web应用 ...

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

    [使用Nginx的修复方案] if ( $host !~* " 10.4.15.1| 10.9.4.9 " ) {     return 403; }  [基于tocmat的修复方 ...

  7. 远程执行漏洞修复方案_请马上修复!SaltStack远程命令执行漏洞

    [漏洞预警]SaltStack远程命令执行漏洞(CVE-2020-11651.CVE-2020-11652) 2020年5月3日,阿里云应急响应中心监测到近日国外某安全团队披露了SaltStack存在 ...

  8. Web常见漏洞修复建议

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

  9. Oracle 漏洞修复方案

    背景: 安全公司进行漏洞扫描,发现Oracle有安全漏洞,提供两种修复方案 方案: 1.下载安全漏洞补丁(因没有购买Oracle服务提供不了授权码不能下载,为何windows 操作系统盗版下载补丁). ...

  10. 网站漏洞修复方案防止SQL注入攻击漏洞

    SQL注入漏洞在网站漏洞里面属于高危漏洞,排列在前三,受影响范围较广,像asp..net.PHP.java.等程序语言编写的代码,都存在着sql注入漏洞,那么如何检测网站存在sql注入漏洞? SQL注 ...

最新文章

  1. C语言 数组(做个笔记)
  2. Spring Boot加载配置文件
  3. mysql筛选字符个数为8的_听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)...
  4. USACO-Section2.1 The Castle (深度优先搜索)
  5. 【MySQL】Linux 命令启动 mysql
  6. response 设置头的类型 (转)
  7. bzoj 1503: [NOI2004]郁闷的出纳员 (splay)
  8. vb从入门到精通_干货|让你 ArcGIS Engine从入门到精通的22个视频
  9. 三菱FX3S,FX3G,FX3U序列PLC控制器编程手册-基本应用指令篇下载
  10. 物联公司网页设计制作 简单静态HTML网页作品 静态企业网页作业成品 学生网站模板
  11. Android车牌识别sdk开发包,基于Android和iOS平台的车牌识别SDK开发包
  12. 三年级计算机测试题,小学三年级信息技术考试试题
  13. SPSS得出因子后怎么计算综合得分
  14. Echarts柱状图和折线图结合
  15. mbr转gpt 无损 linux,无损 MBR转换为GPT加快启动
  16. 麓堂诗话 明 李东阳 著
  17. 微信开发、申请微信号测试账号
  18. 计算机公共基础知识论文,公共基础知识学术论文.docx
  19. 《谋圣鬼谷子》曝片花 徐麒雯饰演“姮娥”
  20. Android Studio修改安卓模拟器的安装位置和SDK的位置

热门文章

  1. 【语言处理与Python】9.2处理特征结构\9.3扩展基于特征的文法
  2. 网络自由访问 巧解除Win XP文件共享限制
  3. 诹图系列(2): 堆积条形图
  4. genymotion安装
  5. machine learning 之 Neural Network 3
  6. Kaggle实战之一回归问题
  7. ios plist获取权限
  8. sql 在排序后limit 查询疑问
  9. Out of resources when opening file './xxx.MYD' (Errcode: 24)
  10. 详解由VS 2010生成的Bug报告(2) - 报告的内容