應用安全-Web安全-漏洞修復方案整理

經過HTTP頭部字段防護措施整理php

X-Frame-Options #反劫持 html

X-XSS-Protection #開啓瀏覽器防XSS功能
node

Set X-Frame-Options nginx

CSPgit

X-Content-Type-Options: nosniff #改會影響瀏覽器的行爲,過濾掉敏感文件github

Content-Encoding #Breach攻擊web

robots.txtsql

注入mongodb

預編譯

文件上傳數據庫

後端代碼限制上傳的文件類型(類型&後綴)和大小
強制給上傳的文件添加後綴名

命令執行

禁用或過濾代碼執行函數

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漏洞

修復方案參考:(三選一便可)    ​    ​
(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 重啓stunnel
2.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 Httpd 2.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/目錄或禁止訪問

 

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.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 1;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訪問,綁定固定IP
2、在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"]
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訪問

復現





apt-get install zookeeper



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-status
                Order Deny,Allow
                Deny from all
                #Allow from all
        </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 Server 2008 R2
查詢是否開啓短文件名功能:fsutil 8dot3name query
關閉該功能:fsutil 8dot3name set 1

Windows Server 2003
關閉該功能:fsutil behavior set disable8dot3 1

1) CMD關閉NTFS 8.3文件格式的支持

舉例:(1表明關閉,0表明開啓)

Windows Server 2008 R2:

查詢是否開啓短文件名功能:fsutil 8dot3name query

關閉該功能:fsutil 8dot3name set 1

Windows Server 2003:

關閉該功能:fsutil behavior set disable8dot3 1

不一樣系統關閉命令稍有區別,該功能默認是開啓的,對於大多數用戶來講無需開啓。

2) 修改註冊表禁用短文件名功能

快捷鍵Win+R打開命令窗口,輸入regedit打開註冊表窗口

找到路徑:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,將其中的 NtfsDisable8dot3NameCreation這一項的值設爲 1,1表明不建立短文件名格式

修改完成後,須要重啓系統生效

注:此方法只能禁止NTFS8.3格式文件名建立,已經存在的文件的短文件名沒法移除,須要從新複製纔會消失。

如下兩種方法僅適用於緩解GET 方法,其餘方法依舊能夠猜解。

3) 關閉Web服務擴展- ASP.NET

4) 升級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注入

zookeeper

相關文章
相關標籤/搜索