phpcms2008 の脆弱性
以下は、これまで公式によってパッチされていないいくつかの脆弱性です
http://www.tmdsb.com/flash_upload.php?modelid=1
インジェクションの脆弱性
<?php require dirname(__FILE__).'/include/common.inc.php'; if($PHPSESSID) { session_id($PHPSESSID); session_start(); } if($auth) set_cookie('auth', $auth); if(!get_cookie('cookietime') && $cookietime) set_cookie('cookietime', $cookietime); require_once 'admin/model_field.class.php'; <span style="color: #ff0000;">$field = new model_field($modelid);</span> $info = $field->get($fieldid);
?
問題は赤でマークされた部分です。 。フォローアップしてご覧ください
function __construct($modelid) { global $db; $this->db = &$db; $this->table = DB_PRE.'model_field'; echo($modelid); <span style="color: #ff0000;">$model = $this->db->get_one("SELECT * FROM ".DB_PRE."model WHERE modelid=$modelid");</span> $this->modelid = $model['modelid']; $this->modelname = $model['name']; $this->fields = cache_read($modelid.'_fields.inc.php', CACHE_MODEL_PATH); $this->tablename = DB_PRE.'c_'.$model['tablename']; }
?
Select がコンストラクターで呼び出されたので、フィルターするのを忘れていました。 。 。