Memcache未授权访问漏洞利用及修复

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_37216944/article/details/80510620

memcached是一套分布式的高速缓存系统。它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的。正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问。

漏洞成因:

    由于memcached安全设计缺陷,客户端连接memcached服务器后无需认证就可读取、修改服务器缓存内容。

漏洞影响:

    除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导致不同类型的安全问题。

    不同的是,在处理前端用户直接输入的数据时一般会接受更多的安全校验,而从memcached中读取的数据则更容易被开发者认为是可信的,或者是已经通过安全校验的,因此更容易导致安全问题。

漏洞修复:

   1、先查看11211端口占用情况
	命令:netstat -an|more
	显示  0  0.0.0.0:11211  即没有做IP限制
	配置memcached监听本地回环地址127.0.0.1。
[root@local ~]# vim /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1"  #设置本地为监听,只能本机访问,不对公网开放,保存退出
[root@local ~]# /etc/init.d/memcached restart #重启服务
    2、当memcached配置为监听内网IP或公网IP时,使用主机防火墙(iptalbes、firewalld等)和网络防火墙对memcached服务端口进行过滤。

1、先查看11211端口占用情况
命令:netstat -an|more
显示 0 0.0.0.0:11211 即没有做IP限制

2、执行命令:nc -vv x.x.x.x 11211 提示连接成功
3、执行命令:vim /etc/sysconfig/memcached,修改配置文件
4、增加限制 OPTIONS="-l 127.0.0.1",只能本机访问,不对公网开放,保存退出
5、执行命令:/etc/init.d/memcached reload重启服务即可
再执行连接命令提示连接失败

###smb漏洞修复:


#####方式一:最简单的修复方式(推荐)

1.打开控制面板,选择查看方式→方式分类

2.点击系统和安全

3.点击windows update–>检查更新

4.安装更新

注意:安全更新结束需要重启多次。


#####方式二:利用防火墙来进行防御

1、打开控制面板,系统与安全→Windows防火墙

2、点击“启动或关闭防火墙”,并启用防火墙,然后点击确定即可

3、点击“高级设置”

4、点击入站规–>新建规则

5、在打开的对话框中点击 端口→下一步

6、点击“特定本地端口”,输入“445,135,137,138,139”,然后点击下一步

7、点击阻止连接–>下一步

8、“配置文件”中全选,下一步

9、名称可以自定义,然后点击“完成”即可


#####方式三:利用命令行关闭防火墙指定端口 445,135,137,138,139

1.管理员方式打开cmd

2、输入如下命令

    netsh advfirewall set allprofile state on  

一条一条执行下面命令,共5条。

    netsh advfirewall firewall add rule name=deny445 dir=in action=block protocol=TCP localport=445  
    netsh advfirewall firewall add rule name=deny135 dir=in action=block protocol=TCP localport=135  
    netsh advfirewall firewall add rule name=deny137 dir=in action=block protocol=TCP localport=137  
    netsh advfirewall firewall add rule name=deny138 dir=in action=block protocol=TCP localport=138  
    netsh advfirewall firewall add rule name=deny139 dir=in action=block protocol=TCP localport=139  

看到确定即代表成功。


###MongoDB未授权访问漏洞修复:


####漏洞描述
开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,而且可以远程访问数据库,登录的用户可以通过默认端口无需密码对数据库进行增、删、改、查等任意高危操作。


####漏洞加固
1、为MongoDB添加认证:
1)MongoDB启动时添加–auth参数
2)给MongoDB添加用户:

use admin #使用admin库
db.addUser("root", "123456") #添加用户名root密码123456的用户
db.auth("root","123456") #验证下是否添加成功,返回1说明成功

3、禁用HTTP和REST端口
MongoDB自身带有一个HTTP服务和并支持REST接口。在2.6以后这些接口默认是关闭的。
mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用。修改配置文件或在启动的时候选择–nohttpinterface 参数nohttpinterface=false
4、限制绑定IP
启动时加入参数

--bind_ip 127.0.0.1

或在/etc/mongodb.conf文件中添加以下内容:

bind_ip = 127.0.0.1


###weblogic反序列化漏洞测试与解决:


一、测试

java -jar CommonsCollectionsTools.jar weblogic 192.168.0.11 7001 F:/a.txt

执行该操作后,如果该IP上的电脑生成a.txt文件,证明漏洞存在(此命令为window下操作,linux下修改文件路径,暂未测试)。

测试jar下载地址:http://download.csdn.net/detail/gongzi2311/9434503

二、解决

1.快速解决

找到…\weblogic\Middleware\modules\com.bea.core.apache.commons.collections_3.2.0.jar 并打开,

找到里面的 org\apache\commons\collections\functors\InvokerTransformer.class

然后删除,保存即可。重新测试发现不能生成文件,漏洞暂时解决。

2.补丁解决

需下载p20780171_1036_Generic.zip、p22248372_1036012_Generic.zip这两个补丁包,并安装。

参考链接:https://blog.csdn.net/gongzi2311/article/details/50555565


###shellshock破壳


####漏洞概述

Bash(GNU Bourne-Again Shell)是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现windows的POSIX虚拟接口.

Bash其广泛的使用将意味全球至少 150 万的主机将受到影响,此外 Linux/Unix 世界内的安卓和苹果都难以幸免。

破壳漏洞(ShellShock)的严重性被定义为 10 级(最高),而今年 4 月爆发的 OpenSSL(心脏出血)漏洞才 5 级!


####漏洞成因:

Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统

受到该漏洞影响的bash使用的环境变量是通过函数名称来调用的,以“(){”开头通过环境变量来定义的。而在处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令


####漏洞测试:

(1).CVE-2014-6271 测试方式:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
(2).CVE-2014-7169 测试方式:(CVE-2014-6271补丁更新后仍然可以绕过)
env -i X=';() { (a)=>\' bash -c 'echo date'; cat echo


####修复方案

及时关注官网的安全补丁更新
(1).针对RedHat、CentOS Liunx发行版本,请执行:
yum -y update bash·
(2).针对Debian Liunx发行版本,请执行:
sudo apt-get update && sudo apt-get install --only-upgrade bash


参考链接:http://www.freebuf.com/articles/system/45390.html


####修复方案
删除.svn目录,或限制.svn目录的访问



Axis2任意文件读取
###修复方案
修改Axis2默认账户名与口令,具体位置在axis2中的conf.xml文档中,修改如下两行代码。
admin
axis2


猜你喜欢

转载自blog.csdn.net/github_37216944/article/details/80510620