1.【黑客编程】手把手教你编写POC
2.log4j2远程代码执行漏洞本地复现
3.Apache Tomcat 反序列化代码执行漏洞复现(CVE-2020-9484)
4.记一次反序列化漏洞的漏洞漏洞利用之路
5.binwalk远程命令执行漏洞原理以及演示 CVE-2022-4510
6.一文详解Tomcat Ghostcat-AJP协议文件读取/文件包含漏洞CVE-2020-1938
【黑客编程】手把手教你编写POC
黑客编程手把手教你编写POC:从入门到实践
POC,即Proof of concept,源码演示是代码安全领域中验证漏洞的一种工具,它并非完整的漏洞漏洞程序,而是源码演示为了验证观点而编写的代码片段。本文将指导你如何在DVWA(Damn Vulnerable Web App)这个安全测试环境中,代码play framework源码通过分析漏洞并编写验证程序,漏洞漏洞来理解并实践POC的源码演示使用。 首先,代码DVWA是漏洞漏洞一个PHP/MySQL Web应用,常用于安全测试。源码演示利用DVWA中的代码Command Injection漏洞进行验证,我们可以通过修改Security设置为low,漏洞漏洞然后通过拼接参数触发漏洞。源码演示源码分析显示,代码ip参数未经过过滤,导致命令执行函数shell_exec存在漏洞。 接下来,使用Python项目,通过分析HTTP数据包来理解漏洞请求。在Firefox的虚拟仿真教学源码Firebug中观察到POST请求包,注意到/vulnerabilities/exec/接口存在权限问题。为获取访问权限,需要模拟登录,将Cookie信息添加到请求头中。 编写验证程序时,我们遇到了状态码而非的问题。通过分析,我们了解到这是由于未授权导致的重定向。为快速识别漏洞,可以采用两种方法:特征检测法,匹配返回结果中的特定字符;关键输出法,人工判断关键信息以确认漏洞利用是否成功。 总结来说,编写POC是渗透测试中的实用技能,虽然渗透测试本身难以完全自动化,但通过编写小工具可以显著提高效率。掌握一门编程语言对于成为合格的白帽渗透测试者至关重要。log4j2远程代码执行漏洞本地复现
本文仅供学习参考,请勿在真实环境进行网络攻击行为。
一、整蛊软件源码背景
Log4j 2 是 Java 中应用非常广泛的一个日志框架,在 年底,一个名为 CVE--(也称为 Log4Shell)的严重漏洞被发现,该漏洞被CVSS评为分最高级别。网络攻击者利用这个漏洞不需要服务器密码就可以访问并操作服务器,攻击方式非常简单,技术门槛低,危害极大。受影响版本:Apache log4j2 2.0 - 2..1 下面先简单看一下攻击原理,然后直接开始操作。
二、攻击原理
假设现在有个网站,当用户登录时,正常请求路径如下:
如果应用服务端的登录接口中使用漏洞版本的log4j2打印请求参数的日志,就有可能被注入。如图所示:
三、复现步骤
以下代码已放在github仓库:log4j漏洞复现代码
1. jdk版本
作者使用jdk1.8.0_和1.8.0_复现成功,1.8.0_复现失败。
JDK 6u、7u、mvso影视1.8源码8u之后:增加了com.sun.jndi.ldap.object.trustURLCodebase选项,默认为false,禁止LDAP协议使用远程codebase的选项,把LDAP协议的攻击途径也给禁了。
使用1.8.0_的情况下,将trustURLCodebase属性设置为true也没复现成功,原因暂未深究。
2. 模拟被攻击的应用服务器
写一个springboot项目,模拟被攻击的应用服务端登录接口,接口中打印了userName参数日志,启动此项目。端口为。访问地址为 .0.0.1:/login
3. 编写恶意代码
写一个在应用服务端执行的恶意代码,这里用删除一个服务器文件做演示,实际上可以使用反弹shell等做更多有害操作。编译这个类,生成class文件。
4. 启动mons-collections4的web应用到Tomcat中。
Docker环境搭建步骤:
克隆相关代码,构建Docker镜像,贝壳改机源码运行Docker容器,并通过特定端口访问容器内的Tomcat服务。 验证漏洞的存在,可以通过以下步骤:使用ysoserial工具生成恶意序列化数据,利用文件上传功能将数据上传到服务器。
发起恶意请求,携带恶意数据。
漏洞检测方法包括:检查安装的Apache Tomcat版本,确认是否受影响。
检查配置文件(如context.xml或server.xml)中是否存在FileStore配置。
修复建议包括:使用最新版本的Apache Tomcat,官方已修复该漏洞。
禁用或正确配置FileStore的使用,避免使用不安全的反序列化过滤机制。
华云安安全威胁管理平台提供了一套自动化漏洞挖掘与利用能力,帮助客户实现持续的风险检测和威胁防御。 “以攻促防,攻防兼备”的理念贯穿华云安的产品与服务,通过一流的安全攻防团队和网络安全产品,服务于关键信息基础设施行业,构建全面的网络安全保障体系。记一次反序列化漏洞的利用之路
0x 前言
通过偶然的机会获取一套系统的源码,利用CodeQLpy轻松发现存在反序列化漏洞,此漏洞属于标准的java反序列化,未进行任何过滤,可利用性较高。
0x 探索
1) 验证漏洞存在:通常,确认反序列化漏洞的手段为URLDNS链。这条链依靠JDK自带,无需依赖第三方jar包,网络出问题即能利用成功,具备较强的通用性。利用ysoserial生成URLDNS链所需的序列化内容,对ysoserial.payloads.util.PayloadRunner的run方法稍作修改,将序列化的数据保存至文件cc.ser,不进行反序列化操作。之后,通过run方法生成序列化内容。在目标环境下进行测试,验证通过URLDNS链触发DNS请求成功。
2) 常见利用链探索:CommonCollections链作为反序列化中最常见的手段,在目标源码中同样存在相关jar包。尝试使用ysoserial中的CC链生成对应序列化文件,但实际环境中失败,无法触发命令执行。确认源码环境为Linux,尝试了CC链的全部7条,均未成功。考虑到可能存在源码问题,使用源码在目标环境下反序列化生成的序列化文件,发现异常在于InvokerTransformer类未继承Serializable接口,确认为修复方式。
3) 替代利用链:CC链未能成功利用,但发现系统存在CB链对应的jar包。测试CB链在系统中无法直接成功,通过本地调试发现错误原因在于版本不一致导致的serialVersionUID报错。查询得知,Java在反序列化时通过serialVersionUID值进行版本检查,不兼容则反序列化异常退出。为解决版本不一致问题,将ysoserial源码拷贝至目标源码中,使用目标源码的jar包作为依赖,最终通过CB链达到RCE效果。
0x 结论
总结反序列化漏洞利用经验:1、并非所有CommonCollections3.2版本均适用于反序列化利用;2、CommonsBeanutils链生成的payload因jar包版本不同导致serialVersionUID报错;3、直接使用ysoserial生成payload不成功时,可在目标源码环境下调试,避免因版本不一致引发的错误。
binwalk远程命令执行漏洞原理以及演示 CVE--
binwalk软件存在一个从版本2.1.2到2.3.3的漏洞。此路径遍历漏洞允许远程攻击者在安装有受影响的binwalk软件的机器上执行任意代码。漏洞源于PFS文件格式,由PhotoFiltre Studio图像修饰程序创建,其中包含多边形选择工具使用的坐标数据。PFS文件以纯文本格式存储。分析源代码后,发现在年合并到binwalk的PFS提取器插件中存在问题,os.path.join函数修改后没有进行完全路径解析,导致第行条件永远不会为真。制作路径遍历的PFS文件可以迫使binwalk在目录外写入文件。利用这一漏洞,可以通过自定义插件方式,将恶意代码保存为.pfs文件,并添加到压缩包中。当从用户主目录中使用binwalk提取文件时,会在.config/binwalk/plugins目录下加入恶意插件,随后被binwalk加载并执行,从而导致远程代码执行(RCE)。
为了演示这一过程,可以使用binwalk API定义自定义插件。将插件放在$HOME/.config/binwalk/plugins目录下后,运行binwalk时会自动调用此插件。恶意代码应以十六进制数据形式保存,并将其转换为.py文件,再保存为.pfs格式,之后添加到压缩包中。当从用户主目录中提取文件时,binwalk会在.config/binwalk/plugins目录下加载并执行恶意插件,导致远程代码执行。
总结而言,利用binwalk版本2.1.2至2.3.3期间的路径遍历漏洞,可以通过自定义插件的方式执行任意代码,进而实现远程代码执行。此外,除了覆盖./.config/binwalk/plugins/malwalk.py文件,还可以覆盖其他关键文件,如id.rsa或/etc/passwd文件,实现直接提权。
一文详解Tomcat Ghostcat-AJP协议文件读取/文件包含漏洞CVE--
文章首发于先知社区:xz.aliyun.com/t/
零基础慎入,因为一不小心你就看懂了。
以tomcat 8.5.版本为例进行漏洞分析,首先下载tomcat源码: /forum.php,刷新页面抓包
*本文作者:xxx,转载请注明来自 FreeBuf.COM在language参数处'.phpinfo().'
返回内容:
复现成功。
看起来复现大佬们的漏洞还是挺有意思的,开心。