某開源投票框架無限投票漏洞
織夢內容管理系統(DedeCms) 以簡單、實用、開源而聞名,是國內最知名的PHP開源網站管理系統,也是使用用戶最多的PHP類CMS系統,在經歷多年的發展,目前的版本無論在功能,還是在易用性方面,都有了長足的發展和進步,DedeCms免費版的主要目標用戶鎖定在個人站長,功能更專註於個人網站或中小型門戶的構建,當然也不乏有企業用戶和學校等在使用本系統。
最近在看DEDE的代碼的時候偶然發現DEDE有一個投票系統,然後深入的研究了一下投票系統發現這個投票系統存在一個無限投票的邏輯漏洞。使用谷歌谷歌一下這個系統發現有好多網站在使用,首先看一下這個投票系統。
在代碼中找到這個系統所在的文件dedecms/plus/vote.php,看一下它的代碼
這裡可以看到這裡分為了兩種投票方式,一種是會員登陸之後投票,一種是遊客狀態下投票。後續發現系統默認是開啟遊客狀態下投票的,我在網上找了一些網站,確實也是開啟了遊客投票。
這裡我們可以看到投票的狀態是在這個函數之中的,我們跟進這個函數看一下
這裡我們可以看到檢測投票是否成功,只是檢測了一下cookie中的IP,也就是說這裡我們只要更改一下ip應該就可以繼續投票。我們測試一下。
這裡是初始的狀態 3 2 2 2 2
我們投票給第二項,這裡投票成功!
這裡我們再次投票
這裡顯示已經投過票了不允許再次投票,我們看一下此時我們瀏覽器中的cookie
這裡我們看到有一個這樣的欄位,和我們在代碼中的看到的檢測變數一樣,我們更改一下它的值。
這裡我們把127.0.0.1更改為127.0.1.1,再次發起投票
可以發現只需要更改一個參數就可以無限制投票。
*本文原創作者:sjy93812,本文屬於FreeBuf原創獎勵計劃,禁止轉載
※年年被黑!凱悅酒店再曝數據泄露,中國18家店遭殃,開個房都不省心?
※銀行木馬利用VMvare進行傳播
※騰訊安全反病毒實驗室:捕獲多起Ramnit殭屍網路家族的DDoS攻擊
TAG:FreeBuf |