一、Cms初識:
FengCms——由地方網絡工作室基於PHP+MYSQL開發。是一款開源的網站內容管理系統。系統支持自由訂制模型,你完全可以用FengCms打造一個你想要的任意展示模型。模版和程序分離、自由標簽系統,讓FengCms靈活無比。擁有FengCms,你可以完成國內95%的網站制作需要!首發於:哈拉少安全小隊
-目錄結構:
二、漏洞描述:
在文章編輯功能處,由於程序沒有首先對用戶權限進行判斷,並且只以POST請求的傳參作為修改數據表的條件,直接進行修改以及顯示,所以導致可以通過修改該參數,越權查看和修改其他用戶的文章。
三、漏洞分析過程:
漏洞存在於:/application/admin/controller/Index.php
定位到rewrite()方法:
-第一處越權:
下面判斷接收到的參數,並且將參數值賦值給$wzid參數,然后作為條件執行select()方法查詢文章內容,然后交給view視圖展示
可以發現,上面的代碼僅僅是通過判斷GET或者POST參數傳的值,都是我們可控的,然后就直接帶入數據庫中查詢了,所以通過修改art的值,就可以查看任意用戶的文章了
-第二處越權:
這里也是一樣的,直接將POST接收到的postId的值,作為條件,執行update()方法,修改文章內容:
這里我們可以通過抓包,然后修改postId的值,就可以修改任意用戶的文章了。
四、漏洞利用:
1、首先添加兩個用戶test1、test2用於測試:
2、然后分別登陸test1和test2用戶,各寫一篇文章用於測試:
3、訪問到文章編輯頁面:
可以看到url上有art參數,並且顯示了文章的內容,這里是test2用戶訪問結果:
然后直接修改art的值為3,就可以成功查看到用戶test1的文章了:
4、postId=3是test1的,4是test2的,程序就是通過這個參數執行修改操作的
回到test1查看文章內容,已經被修改為test2用戶文章的內容了:
更多文章歡迎關注哈拉少安全小隊公眾號: