[代碼審計]雲優cms V 1.1.2前臺多處sql注入,任意文件刪除修復繞過至getshell

 0X00 整體簡介php

雲優CMS於2017年9月上線全新版本,二級域名分站,內容分站獨立,七牛雲存儲,自定義字段,自定義表單,自定義欄目權限,自定義管理權限等衆多功能深受用戶青睞,上線短短3個月,下載次數已超過5萬次。雲優CMS堅信沒有排名的網站不是「好網站」,咱們將致力於爲用戶打造全自動SEO解決方案html

這次審的版本爲雲優CMS v1.1.2,更新於2018.08.02。web

發現了前臺api模塊Master.php,V1.php存在多個注入漏洞,與及statics\ueditor\vendor\Local.class.php 文件remove方法存在任意文件刪除可致使getshell。sql

 

0x01 漏洞環境shell

工具: phpstudy , vscode,seay源代碼審計工具,burpsuiteapi

CMS版本: v1.1.2數組

官網下載:http://www.yunucms.com/七牛雲存儲

 

0x02 漏洞介紹安全

1、前臺api模塊下的Master.phpV1.php控制器多處sql注入cookie

 多處sql注入皆是orderby變量未過濾,直接帶入了查詢。pdo是沒有辦法過濾orderby的。

1Master.php\api_list 方法

 

直接帶入查詢,沒有任何過濾

 

2,Master.php\api_link 方法

不一一舉例,Master.php文件的多處$orderby變量都是存在注入的,同理V1.php文件也是同樣。

注入證實:取master.php文件中的api_list方法的注入點爲例(爲了更好的顯示漏洞,手動開啓了程序的debug模式,不開啓報錯方式也是可經過盲注的方式獲取數據。程序默認不開啓debug模式)

修復建議:

1) :不讓用戶可控$orderby參數

 

2、任意文件刪除漏洞修復繞過

 文件statics\ueditor\vendor\Local.class.php remove方法

這個漏洞在1.0.6版本中引入,在1.0.8版本修復。

可是修復不徹底,能夠直接繞過。

看代碼的意思是獲取文件路徑,經過’/’來劃分爲數組,判斷數組[0]和數組[1]是否等於uploads,不等於則非法。可是咱們能夠這樣繞過,payloads/uploads/../test.txt

且該處文件不通過後臺認證,好比刪除一個正常的圖片,不帶cookie,也是能夠正常刪除的。

跨目錄刪除文件,刪除根目錄下的test.txt

請求包:

可刪除install.lock,重裝系統寫入配置文件直接獲取網站webshell,參考(http://www.freebuf.com/column/162343.html)

修復建議:

1) :不容許路徑中出現.. 字符

2) :好比將安全驗證的代碼修改成$file=str_replace(‘..’,’’,$file);

 

0X03 總結

漏洞原理比較簡單,經過這個系統順便總結了一下orderby注入相關的東西。

與及也發現了一些組件相關的問題,後面寫篇文章總結一下。

聲明:本文章只用於學習研究之用,禁止用於違法犯罪。

 

0x04 參考連接

1,http://www.cnblogs.com/iyiyang/articles/6740580.html

相關文章
相關標籤/搜索