ZMLCMS-SQL隱碼攻擊

weixin_34037977發表於2017-08-20

一個小小小眾的cms

ZMLCMS採用php+mysql開發,基於MVC開發,前端使用pintuer、jquery、layer等....

問題出現在:ZMLCMS\App\Home\Controller\ItemController.class.php

問題程式碼:58行

對id傳過來的值過濾不嚴謹,導致SQL:

4138986-9691809cbd7076ba.png
看了下SQL過濾的函式,程式設計師太可怕了


4138986-e127ca990f393a23.png
上圖對單引號和雙引號進行轉義

我們來看下當我們帶入單引號會有什麼變化:


4138986-7e0118c403a61b48.png
看出單引號被轉義
4138986-85da9d199dad1d9a.png
這個是吧字串裡面的單引號替換成2個單引號

只對單引號和雙引號做文章,那我們不出現單引號和雙引號不就完事洛,那麼我們直接構造語句:

4138986-b191dec3b1af378d.png
成功爆出管理員賬號密碼,通過MySQL監控可以看到語句被直接帶進資料庫
4138986-034b363159423e28.png


最後構造exp:and extractvalue(1, concat(0x7e,(SELECT distinct concat(0x23,username,0x3a,password,0x23) FROM zml_admin_user limit 0,1)))

相關文章