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的方法 ,那么就可以找入口点,只要找到入口点,然后传入 ,其余的方法需要配置日志级别才可以触发漏洞。
单词说明 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-分析以及利用
作者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内核漏洞学习
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://
但该漏洞遇到的比较少,就算一些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记录的方式而不是手动拼接字符串
漏洞的前因后果 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
本文是域提权漏洞系列分析中的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字节全
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]
“ 之前进行了服务扫描,对于hasee得到的结果主要就是80端口的http服务,似乎攻击面被局限在了web渗透上,这样就太不全面了,接下来的几篇文章我会针对常见的服务进行深入分析攻击手段” -- ---- StringBleed CVE-2017-5135 这个CVE漏洞利用异常的简单,漏洞产生的原因就是个别产品身份验证有问题,无论我们提交什么CommunityString ,都会身份认证成功 ,对于这个漏洞的修补可以说是十分的糟糕,我刚刚还在shodan按照漏洞说明的产品们选择了几个进行测试,都成功了,而且其中大部分还具有写的权限。 —>CastleNet CBV38Z4ECNIT —>CastleNet CBW383G4J —>CastleNet CBW38G4J —>CastleNet CBW700N —> TEKNOTEL 结合刚刚介绍的漏洞,一个完美的DDoS方案就出来了,大家应该都懂吧! 或许哪天无聊我可能会写一个这样的脚本。
研究人员在服务器上配置了多个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
Gnuboard stored xss 之前记录的一个漏洞,漏洞触发点比较有趣,而且威胁也大,所以就发到博客。 首先看一下 index.php代码
函数签名攻击的思路是:由于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.
0x01 漏洞解析舍入漏洞是财务、支付、电商等涉及金额计算的系统中,因对小数金额的舍入规则设计不当或计算逻辑不统一,导致实际金额与预期金额产生偏差,进而被攻击者利用获取非法利益的业务逻辑漏洞。 其核心成因是不同系统模块(如订单计算、支付对账、退款结算)采用不一致的舍入方式,或未对舍入后的金额进行二次校验,形成金额差漏洞。 100 元订单拆分为 100 笔 1 元订单),利用每笔订单舍入产生的 0.01 元差额,通过批量操作获取非法收益;或在退款场景中,利用舍入差异使实际退款金额高于原支付金额,实现 “薅羊毛”0x02 漏洞复现本次使用靶场连接 在数据包里有提示:输入0.018,成功获取flag0x03 漏洞修复方法修复需围绕 “后端主导校验、拒绝信任前端数据” 核心原则,从数据校验、逻辑设计、监控审计三方面入手:后端强制重算金额:后端接收订单请求后
前言 我在前段时间从买了一个4G调制解调器。这是一个便携式4G WiFi移动宽带调制解调器。 我想知道这是个什么玩意,然后我想到这可能是我的EE 4G WiFi调制解调器。然后在谷歌上搜索了一会儿,这个调制解调器是阿尔卡特公司生产的。 然后出于好奇的角度查看了安装的服务,发现存在一个漏洞。 此漏洞可用于在本地Windows操作系统中升级特权。 在向EE报告了漏洞后,他们发布了一个补丁来更新调制解调器。按照以下步骤将调制解调器更新到最新的补丁。1.进入路由器的默认网关:http://192.168.1.12.单击“检查更新”文本以更新固件。 26-07-2018:致电Osanda Malith Jayathissa和EE进一步讨论漏洞。26-07-2018: EE确认补丁将在一周内上线。
什么是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
而在上面需要打破的条件中,只要channelstruct +0x108的地址存放的是同一个地址,循环就会被break 我们发送一个正常的rdpdr的name request数据包,头部标识是0x7244和0x4e43 0x02 win7 EXP 池喷射简要分析 首先被释放的MS_T120池大小包括是0x170,池的标志是TSic 分析Win7 exp 可以知道数据占位是用的rdpsnd信道,作者没有采用rdpdr信道 bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu/ [2]https://wooyun.js.org/drops/%E7%BE%8A%E5%B9%B4% E5%86%85%E6%A0%B8%E5%A0%86%E9%A3%8E%E6%B0%B4%EF%BC%9A%20%E2%80%9CBig%20Kids%E2%80%99%20Pool%E2%80%9D% E4%B8%AD%E7%9A%84%E5%A0%86%E5%96%B7%E6%8A%80%E6%9C%AF.html
0x01: 漏洞挖掘一般方法 1. 手动法漏洞挖掘 手动法挖掘,就是不使用自动挖掘工具,手动分析软件可能出问题的地方。其中挖掘点是靠手动来寻找的,畸形数据也是手动来构造的。 静态扫描: 这种漏洞挖掘方法的思路就是扫描目标程序的二进制文件,通过PE文件分析,指令分析等来发现目标程序中存在的潜在漏洞代码。 所以还需要加以指令分析的方法,但是指令分析的实现难度和成本都比较高,因为要考虑到所有的漏洞模式,这也导致了另一个缺点检测速度非常慢。 3. d.通过逆向分析这些异常样本,查看是否是漏洞同时确定危害级别。 通用FUZZ优点: 上手容易,不需要了解文件格式即可对目标进行漏洞挖掘。全自动化,效率很高。 通过逆向分析解析视频文件格式,发现函数处理密钥在文件所在位置如下图。 ? 4.