12,log4j漏洞+Shiro漏洞

存在JNDI远程代码执行
log4.core 下面堆栈调用了look up方法
look up是基于jndi,而jndi又支持rmi
漏洞原理
 Apache Log4j2 中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
 通俗简单的说就是:在打印日志的时候,如果你的日志内容中包含关键词 ${,攻击者就能将关键字所包含的内容当作变量来替换成任何攻击命令,并且执行。
 修复:
其实如果你了解了这个原理那么解决方式也就一目了然了, 
 禁用lookup或JNDI服务
罪魁祸首就是lookup和JNDI,那么直接修改配置文件log4j2.formatMsgNoLookups=True或禁用JNDI服务,不过一般产生问题的服务都是线上已经在跑的服务,禁用的时候要注意评估一下是否允许。
 升级Apache Log4j
这次产生的影响范围主要是在Apache Log4j 2.x <= 2.14.1,所以直接把Log4j升级即可解决。
log4j 
特点: 能够解析 ldap 协议
exploit.java javac ===> exploit.classmarselsec 监听特定的端口 将接收到的请求包转发python3 -m http.server 8181 从而能够让marselsec将对应的请求包转发

Shiro漏洞
    用户登陆成功后会生成经过加密并编码的cookie,在服务端接收cookie值后,Base64解码–>AES解密–>反序列化。攻击者只要找到AES加密的密钥,就可以构造一个恶意对象,对其进行序列化–>AES加密–>Base64编码,然后将其作为cookie的rememberMe字段发送,Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞。只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞

    环境搭建
        # docker pull medicean/vulapps:s_shiro_1
        安装完成后运行
            # docker run -d -p 80:8080 medicean/vulapps:s_shiro_1
    快速判断是否存在Shiro漏洞
        查看是否rememberMe=deleteMe
    对Cookie中rememberMe=的编码进行base64解码
    在攻击机使用ShireExploit工具
        双击ShiroExploit.jar打开(依赖Java1.8d的环境)
            输入对应的存在Shire漏洞的ip地址
                选择dnslog漏洞检测
                    找到对应的Key值后
                        进行简便操作 输入对应的ip地址:192.168.21.147:5678    Kali进行监听 nc -lvp 5678

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值