1.使用IDEA调试远程Java代码
2.Apache Tomcat 反序列化代码执行漏洞复现(CVE-2020-9484)
使用IDEA调试远程Java代码
在IDEA中调试远程Java代码是一项常见的需求。本文将指导你如何在IDEA中配置并实现远程调试,无需担忧步骤细节,只需跟随操作即可。
首先,打开IDEA的下载网站源码程序“Run/Debug Configurations”设置,输入远程服务器的IP和端口。红框中的信息在后续步骤会用到,暂时不用修改。
接下来,登录远程服务器,编辑tomcat的catalina.sh文件,添加配置,参数应与第一步的IP和端口对应。注意,根据远程服务器的JDK版本,可能需要使用红框中的不同输入框来获取相应的参数。
启动IDEA服务,为需要调试的afka源码解析代码设置断点。当远程服务器上的程序被访问时,IDEA会自动连接并进入断点模式。点击相应的启动按钮,观察控制台输出以确认连接成功。
关于配置参数的含义,绿框中的Transport选择IDEA与服务器的通信方式,通常选择Socket或Shared memory。Debugger mode建议使用Attach模式,等待IDEA连接。条码转换源码Host和Port则是远程服务器的地址和端口。
红框中的参数是自动生成的,与绿框设置相关,用于启动jdwp服务器。-Xrunjdwp指示JVM使用jdwp协议,transport根据上述选择进行配置,address则对应远程服务器的端口。
注意事项包括:确保远程服务器的指定端口未被占用且能被本地访问,通过telnet测试;代码部署需与本地源代码一致,llc源码解析以保证断点功能;在catalina.sh中的JAVA_OPTS参数添加新配置时,只需追加即可。
Apache Tomcat 反序列化代码执行漏洞复现(CVE--)
Apache Tomcat的CVE--远程代码执行漏洞概述,漏洞的详细信息与影响范围如下。 Apache Tomcat是一个开放源代码的Java Web应用容器,该漏洞存在于使用了自带session同步功能,而没有正确使用EncryptInterceptor配置的场景中。攻击者利用精心构造的数据包,可以对部署了Tomcat且具有特定配置的uniapp学习源码服务器进行攻击。 成功利用此漏洞需要满足以下四个条件:攻击者能够控制服务器上的文件内容和文件名。
服务器配置了PersistenceManager使用了FileStore。
PersistenceManager的sessionAttributeValueClassNameFilter配置为“null”或者过滤机制不严格,允许攻击者提供恶意反序列化的对象。
攻击者知道FileStore存储位置到攻击者可控文件的相对路径。
该漏洞的威胁等级为中危,主要影响版本在CVE--漏洞公告覆盖的范围内。 漏洞复现实验可以在本地环境或Docker容器中进行。本地环境搭建步骤:
设置server.xml文件参数,如debug、saveOnRestart、maxActiveSession等,然后部署一个依赖commons-collections4的web应用到Tomcat中。Docker环境搭建步骤:
克隆相关代码,构建Docker镜像,运行Docker容器,并通过特定端口访问容器内的Tomcat服务。 验证漏洞的存在,可以通过以下步骤:使用ysoserial工具生成恶意序列化数据,利用文件上传功能将数据上传到服务器。
发起恶意请求,携带恶意数据。
漏洞检测方法包括:检查安装的Apache Tomcat版本,确认是否受影响。
检查配置文件(如context.xml或server.xml)中是否存在FileStore配置。
修复建议包括:使用最新版本的Apache Tomcat,官方已修复该漏洞。
禁用或正确配置FileStore的使用,避免使用不安全的反序列化过滤机制。
华云安安全威胁管理平台提供了一套自动化漏洞挖掘与利用能力,帮助客户实现持续的风险检测和威胁防御。 “以攻促防,攻防兼备”的理念贯穿华云安的产品与服务,通过一流的安全攻防团队和网络安全产品,服务于关键信息基础设施行业,构建全面的网络安全保障体系。