phpcms 2008 product.php pagesize參數代碼注射漏洞

 發佈時間: 2011-10-12

影響版本:
phpcms 2008
漏洞描述:
phpcms 2008的代碼中由於對模板參數處理不當,導致可以任意執行任意代碼文件。
具體的代碼觸發路徑是這樣的:
phpcms/yp/product.php中獲取pagesize參數,拼接爲$urlrule變量。隨後將之帶入yp目錄下的product.html模板之中。在模板執行後,進入到get函數處理中,最後經過get->pages->pageurl函數,最終觸發pageurl的如下代碼:

eval(“\$url = \”$urlrule\”;”);
在這裏,將未過濾的$urlrule通過eval賦值。這裏可以使用${@phpcode}的語法執行php函數,最終造成漏洞。(進入最後pageurl邏輯前,有個要求是product數目必須超過0,所以沒有測試數據的本地新搭建環境沒法復現,必須加一些測試數據才行)
<*參考http://www.wooyun.org/bugs/wooyun-2010-02984*>
測試方法:
[sebug.net]
本站提供程序(方法)可能帶有***性,僅供安全研究與教學之用,風險自負!

http://demo.phpcms.cn/yp/product.php?pagesize=${@print(md5(admin))}

http://demo.phpcms.cn/yp/product.php?pagesize=${@phpinfo()}

等待官方補丁

http://www.phpcms.cn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章