Apache Log4j 漏洞利用分析 Apache Log4j 项目被爆存在远程代码执行漏洞,且利用简单,影响危害巨大,光是引入了 log4j2 依赖的组件都是数不清,更别提项目本身可能存在的风险了 ,复现漏洞来学习一下,希望可以帮助到大家。 _221 三、 漏洞分析 测试代码如下: #log4j,java import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger log4j 中 jdni 的用法格式如下: ${jndi:JNDIContent} 既然明确了lookup是触发漏洞的点,并且找到了可以触发 lookup的方法 ,那么就可以找入口点,只要找到入口点,然后传入 ,其余的方法需要配置日志级别才可以触发漏洞。
0x01 写在前面 2021 年 12 月 9 号注定是一个不眠之夜,著名的Apache Log4j 项目被爆存在远程代码执行漏洞,且利用简单,影响危害巨大,光是引入了 log4j2 依赖的组件都是数不清 ,更别提项目本身可能存在的风险了,如下图所示,mvnrepository搜索引用了 log4j-core version 2.14.1的项目就 十几页了: 本文就来简单分析一下该漏洞的原理。 0x02 影响范围 引用了版本处于2.x < 2.15.0-rc2的 Apache log4j-core的应用项目或组件 0x03 漏洞分析 根据官方的修订信息:https://issues.apache.org 0x04 漏洞复现 0x05 写在最后 log4j2涉及的组件之多、牵扯的范围之广,造成的结果,恐怕是漏洞发现者或者是某个公开 poc 的安全公众号都始料未及的。 log4j,通常这也是一个挖掘组件依赖漏洞的一种思路 第四 参考 https://logging.apache.org/log4j/2.x/manual/lookups.html https://
作者selph前言窥探Ring0漏洞世界:缓冲区溢出之池溢出实验环境:•虚拟机:Windows 7 x86•物理机:Windows 10 x64•软件:IDA,Windbg,VS2022漏洞分析本次实验内容是 PoolOverflow,IRP分发函数通过跳转表进行跳转,两项之间的控制码相差4,所以本次实验使用的控制码是:0x22200f,漏洞触发代码:int __stdcall TriggerBufferOverflowNonPagedPool :控制缓冲区紧挨着一个Event对象,通过覆盖伪造一个OBJECT_TYPE头,覆盖指向OBJECT_TYPE_INITIALIZER中的一个过程的指针,通过执行该过程从而执行shellcode)具体分析往下看即可先给一个刚好大小的正常输入看看池的情况 shellcode,然后释放对象,就会调用该方法,从而执行shellcode那么,我们的目标就是把TypeIndex的偏移量从0xc改成0x0,第一个指针是空指针,不被使用的,在Windows7中有一个漏洞 blogs/ntdebugging/understanding-pool-corruption-part-3-special-pool-for-double-frees• [6] [翻译]Windows内核漏洞学习
单词说明 vulnerabilities 漏洞 issue 问题 CVE Common Vulnerabilities and Exposures 常见漏洞和暴露 概念说明 JNDI (Java diff=unified&w=1 修复 <properties> <log4j2.version>2.15.0</log4j2.version> </properties> https://spring.io /blog/2021/12/10/log4j2-vulnerability-and-spring-boot 参考链接 https://news.ycombinator.com/item? /pull/614 https://semgrep.dev/s/chegg:log4j2_tainted_argument https://github.com/mbechler/marshalsec/ technotes/guides/rmi/codebase.html https://www.iswin.org/2016/01/24/Spring-framework-deserialization-RCE-分析以及利用
但该漏洞遇到的比较少,就算一些cms中log4j组件版本存在漏洞,该漏洞需要使用SimpleSocketServer开启端口才能够接受socket中的数据进行反序列化操作,从而才能利用。 0x01 log4j 漏洞简介 漏洞简介 log4j用的其实还是比较多,记录一些Java的日志,这个相信接触过Java的都知道,在此不做多的赘诉。 0x02 log4j 反序列化分析 漏洞复现 配置漏洞代码 import org.apache.log4j.net.SimpleSocketServer; public class log4j { nc 127.0.0.1 1234 < log4j.curl.bin ? 漏洞分析 漏洞比较简单,还是现在漏洞位置先下断点。 ? 跟进查看 ? ,只是发包构造的数据包不一样,分析一下漏洞知道漏洞怎么形成的。
0x00 介绍 在Log4j2爆出RCE漏洞后,官方给出了RC1和RC2的修复,在之前的文章中有详细分析 在RC2的修复之前,其实就存在DOS的可能,但我在RC2的修复后,发现仍然可以造成拒绝服务漏洞 45046漏洞报告,这个CVE正是拒绝服务相关,不过漏洞credit信息并不是我,而是国外某团队 具体链接参考: https://logging.apache.org/log4j/2.x/security.html 可以构造出Payload使程序lookup本地,而本地不可能开LDAP Server,于是发生超时等待,也许会有拒绝服务漏洞的可能 于是修改了RC2的源码,加入了统计时间代码,分析lookup的超时情况 0x03 CVE分析 接下来分析这个CVE,其实我不确定对于这个CVE的解读是否正确 在Log4j2.xml中支持一种配置从上下文中取值:例如这个例子可以取到loginId值 <Appenders> ,这个拒绝服务漏洞原理已经清晰了 0x04 CVE利用场景 CVE中提到的利用场景应该更为广泛 通常情况下,记录登录用户的身份等信息是常见的操作 如果程序员选择了Log4j2这种ctx记录的方式而不是手动拼接字符串
本文是域提权漏洞系列分析中的Zerologon漏洞分析部分-其他部分还有几年的域提权漏洞和域提权手法 2020年08月11日,Windows官方发布了 NetLogon 特权提升漏洞的风险通告,该漏洞编号为 CVE-2020-1472,漏洞等级:严重,漏洞评分:10分,该漏洞也称为“Zerologon”,2020年9月11日,Secura高级安全专家Tom Tervoort和技术总监Ralph Moonen 漏洞点一:无限次的认证请求、签名校验可以关闭 首先我们需要理解整个Netlogon和DC交互的过程: 1.通过NetrServerReqChallenge(Opnum 4)方法发送Client Challenge 利用需要以下条件: 1.需要一个帐户来触发打印机错误 2.DC上运行Print Spooler 服务 3.DC存在Zerologon漏洞 4.域中应该至少有 2 个 DC,因为中继回同一个 DC不起作用 图6- Event ID 4742 图6- Event ID 5805 通过网络流量进行检测 根据上面的漏洞分析,攻击者需要使用8字节全0 Client Challenge不断尝试得到一个正确的8字节全
漏洞的前因后果 2021 年 12 月 9 日,2021 年 11 月 24 日,阿里云安全团队向 Apache 官方报告了 Apache Log4j2 远程代码执行漏洞。 详情见 【漏洞预警】Apache Log4j 远程代码执行漏洞 漏洞描述 Apache Log4j2 是一款优秀的 Java 日志框架。 阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。 漏洞评级 Apache Log4j 远程代码执行漏洞 严重。 本地复现漏洞 首先需要使用低版本的 log4j 包,我们在本地新建一个 Spring Boot 项目,使用 2.5.7 版本的 Spring Boot,可以看到一老的 log4j 是 2.14.1,可以复现漏洞 image log4j 漏洞源码分析 只看 logger.info("${jndi:rmi://127.0.0.1:1099/calc}"); 这段代码,首先会调用到 org.apache.logging.log4j.core.config.LoggerConfig
“ 之前进行了服务扫描,对于hasee得到的结果主要就是80端口的http服务,似乎攻击面被局限在了web渗透上,这样就太不全面了,接下来的几篇文章我会针对常见的服务进行深入分析攻击手段” -- ---- StringBleed CVE-2017-5135 这个CVE漏洞利用异常的简单,漏洞产生的原因就是个别产品身份验证有问题,无论我们提交什么CommunityString ,都会身份认证成功 ,对于这个漏洞的修补可以说是十分的糟糕,我刚刚还在shodan按照漏洞说明的产品们选择了几个进行测试,都成功了,而且其中大部分还具有写的权限。 —>CastleNet CBV38Z4ECNIT —>CastleNet CBW383G4J —>CastleNet CBW38G4J —>CastleNet CBW700N —> TEKNOTEL 结合刚刚介绍的漏洞,一个完美的DDoS方案就出来了,大家应该都懂吧! 或许哪天无聊我可能会写一个这样的脚本。
Gnuboard stored xss 之前记录的一个漏洞,漏洞触发点比较有趣,而且威胁也大,所以就发到博客。 首先看一下 index.php代码 <div style="float:left;<? > </div> 用latest过滤之后echo输出,如果是以前,就会跳过这个<em>漏洞</em>点,但是因为缺钱,所以跟了一下代码。 48fc-af44-dfe7704a<em>4</em>cd8.png-w331s] PoC : import requests from urllib import quote header = {"Host ,想起之前朋友挖过的gnuboard的漏洞,然后现在看了一下,虽然有补丁但是还是存在漏洞。 -83bb-95695bc4ae97.png-w331s]
Gnuboard stored xss 之前记录的一个漏洞,漏洞触发点比较有趣,而且威胁也大,所以就发到博客。 首先看一下 index.php代码
研究人员在服务器上配置了多个Autodiscover域名,在2021年4月16日至2021年8月25日期间检测到372072个外泄的Windows域凭据,96671个从各种应用程序泄漏的凭据。 漏洞简介 泄漏的凭据是向Microsoft Exchange服务器进行身份验证的Windows域凭据。此问题由微软的Autodiscover协议引发。 2017年,Shape Security的研究人员发表了一篇关于手机电子邮件客户端此类漏洞的文章(CVE-2016-9940,CVE-2017-2414)。 4、服务器验证用户并返回请求的资源。 在2021年4月16日至2021年8月25日期间,研究人员通过这种方式捕获了大量凭据: 行业分布如下: 原文链接: https://www.guardicore.com/labs/autodiscovering-the-great-leak
函数签名攻击的思路是:由于solidity中识别一个函数,靠的是函数签名,而函数签名是函数哈希后的前4个bytes,是非常容易碰撞出来的。 //最后设置回新地址,并打log Upgraded(address) _upgradeTo(newImplementation); } } Openzepplin的实现漏洞分析 uupsupgradeable-vulnerability-post-mortem/15680 [3] Contracts Wizard - OpenZeppelin Docs: https://docs.openzeppelin.com/contracts/4.
2.3 搭建DVWA漏洞环境 DVWA是一款开源的渗透测试漏洞练习平台,其中包含XSS,SQL注入,文件上传,文件包含,CSRF和暴力破解等各个难度的测试环境。 2.将DVWA重命名为dvwa并移动到htdocs Windows用户直接将文件拖到www即可(系统状态栏左下角) image.png 3.配置如上 注意:打开全局权限和用户账户数据库中的两个服务 4.
什么是SSRF漏洞 SSRF(服务器端请求伪造)是一种由攻击者构造请求,服务器端发起请求的安全漏洞,所以,一般情况下,SSRF攻击的目标是外网无法访问的内部系统。 SSRF漏洞形成原理。 利用file协议读取本地文件等等 参考文献:《Web安全攻防》 SSRF漏洞代码分析 <?
return '现在的方法是POST' if __name__ == '__main__': app.debug = True app.run('127.0.0.1','8080') 仔细分析上面的代码 ,从而照成漏洞的产生,flask漏洞也被称为'SSTI',既然flask是基于python开发的一种web服务器,那么也就意味着如果用户可以和flask进行交互的话,就可以执行python的代码,比如eval ,system,file等等等等之类的函数,本文将以jinjia2的模板引擎render_template_string作为漏洞代码进行漏洞演示~ 漏洞演示 下面是演示一个看起来没啥问题的代码 png] 成功执行了我们的弹窗代码,如果把这段代码放在第一个代码中,就不会出现这种问题,因为已经被转义了,所以不会执行 插入弹窗代码的危害还不是最大的,最大的是可以照成信息泄露,任意文件读取,RCE等漏洞 cmd={{config}} [13.png] 有回显,说明存在SSTI漏洞,既然确定了有这个漏洞,那就直接根据上面给出的payload打一波命令执行或者文件读取即可,具体的可以看上面的payload
0x01 漏洞解析舍入漏洞是财务、支付、电商等涉及金额计算的系统中,因对小数金额的舍入规则设计不当或计算逻辑不统一,导致实际金额与预期金额产生偏差,进而被攻击者利用获取非法利益的业务逻辑漏洞。 其核心成因是不同系统模块(如订单计算、支付对账、退款结算)采用不一致的舍入方式,或未对舍入后的金额进行二次校验,形成金额差漏洞。 100 元订单拆分为 100 笔 1 元订单),利用每笔订单舍入产生的 0.01 元差额,通过批量操作获取非法收益;或在退款场景中,利用舍入差异使实际退款金额高于原支付金额,实现 “薅羊毛”0x02 漏洞复现本次使用靶场连接 在数据包里有提示:输入0.018,成功获取flag0x03 漏洞修复方法修复需围绕 “后端主导校验、拒绝信任前端数据” 核心原则,从数据校验、逻辑设计、监控审计三方面入手:后端强制重算金额:后端接收订单请求后
视频内容 Nuxeo RCE漏洞分析 1080P超清版 微信公众号平台本身会对素材进行二次压缩,会导致画面出现不清晰等情况。 如有需要查看超清1080P版视频,可以选用以下2种方式进行查看。
分析DAO的漏洞 我敢肯定每个人都听说过有关DAO被一个黑客利用递归以太坊发送漏洞截获1.5亿美元的重大新闻。 检查该账户的交易, 你会看到一个模式: 200页的.00000002 ETH(以太)交易记录到0xf835a0247b0063c04ef22006ebe57c5f11977cc4和0xc0ee9db1a9e07ca63e4ff0d5fb6f86bf68d47b89 我不会花太多时间在这种区块链分析上, 因为他已经做得很好。我非常鼓励任何对此有兴趣的人可以从那篇文章开始看起。 在本系列的下一篇文章中, 我们将看看恶意合约本身的代码(包含实际发起递归攻击的漏洞)。 为了方便发布, 我们还没有完成这样的分析。 如果你有可能与此处描述的主题相关区块链数据或分析, 或者合同源代码或二进制分析, 请通过邮件发送给phil@linux.com分享。
最近爆出来个CVE-2016-1003,国内人分析了两天发现ying 是国外十几年前发现的漏洞,分析了两天发现影响覆盖越来越严重,现在最新的patch也被绕过了,又爆了新的cve… 朋友的博客 CVE- 2016-1003 最早爆出来的版本是这样的 http://seclists.org/oss-sec/2016/q4/750 漏洞详情 https://legalhackers.com/advisories : 1、php version < 5.2.0 2、phpmailer < 5.2.18 3、php 没有安装 pcre(no default) 4、safe_mode = false(default) 漏洞和这个差不多 http://blog.knownsec.com/2016/12/roundcube-1-2-2-远程命令执行漏洞-漏洞分析/ 其实问题主要是在mail函数的第五个参数过滤不严明,导致了命令执行 /how-to-analyze-long-regex.html 还有好用的正则表达式分析引擎 https://regex101.com 新的cve提交的是这个payload \"attacker\\'