2018年12月9日,國内某安全組織,對discuz X3.2 X3.4版本的漏洞進行了公開,這次漏洞影響範圍較大,具體漏洞是discuz 的使用者前段SQL注入與請求僞造漏洞,也俗稱SSRF漏洞,漏洞産生的原因首先:php環境的版本大約PHP5.2,dizcuzX3.2 X3.4版本,伺服器環境是windows 2008 2003 2012系統,linux centos不受此漏洞的影響。

漏洞的詳情與利用
該漏洞産生的原因是由于source目錄下的module檔案裡的misc子產品代碼,具體的是misc_imgcropper.php檔案第54行到56行之間的函數變量指派問題導緻可以插入惡意非法參數,導緻可以進行變量,我們跟進這個函數傳遞到了那裡。
跟蹤這個函數查到調用到了class目錄下的class_images.php,代碼如下圖:
從上述代碼中可以看出傳遞過來的url函數,被正常解析到curl請求當中去,通過這裡的代碼功能我們可以知道,我們可以調用cur的請求,去請求一些其他網站,curL:www.***.com.那麼我們可以僞造自己構造的XSS擷取代碼,把代碼放到自己的網站當中,讓通路者自動通路我們精心制作的位址即可。但是利用這個請求僞造攻擊的漏洞需要一定的條件就是需要網址的跳轉才能更好的利用。
在discuz漏洞的利用過程中我們發現有些php版本也存在問題,必須是大約PHP5.2版本的,有些curl網址的請求才能有效果。我們送出的方式是get方式的資料送出,使用referer進行判斷跳轉。discuz官方對于來路的判斷跳轉進行了嚴格的過濾,導緻你能使用任何位址進行跳轉,我們來看下官方是如何寫的代碼。如下圖:
從代碼裡可以看到限制了隻要是本地的網址
https://127.0.0.1/discuz才能跳轉,我們測試了很多方式發現可以繞過discuz的限制,
https://127.0.0.1%23%40www.安全測試.com&quickforward=2即可進行繞過,我們本地來測試下該漏洞:
discuz漏洞修複
關于discuz 3.4漏洞修複,建議使用者盡快更新discuz到最新版本,針對于curl的請求,php版本降級于5.2版本一下,或者是限制curl的功能使用。對discuz上的漏洞進行修複,或者是對網站安全防護參數進行重新設定,使他符合當時的網站環境。如果不懂如何修複discuzx3.4版本discuzx3.0版本以及discuzx3.2版本漏洞,也可以找專業的網站安全公司來處理,國内也就Sinesafe和綠盟、啟明星辰等安全公司比較專業.