
YZMCMS v3.7最新版xss脆弱性 CVE-2018-8078
YZMCMS v3.7 最新版の格納型XSS脆弱性
このXSSは、v3.7で新たに追加された広告管理モジュールに存在します。図に示す通りです:

広告管理の編集機能の具体的なコードは、YzmCMS-V3.7\application\advertisement\controller\adver.class.php の55〜70行目にあります。図に示す通りです:

その中で、59行目で getcode という名前のメソッドが呼び出され、POSTメソッドで一連のパラメータが渡されています。このメソッドを追跡すると、$data['title'] は一切のフィルタリングを経ずに返され、そのままパラメータとして $POST_[‘code’] に return されていることがわかります。図に示す通りです:

edit に戻ってさらに追跡を続けると、edit メソッド内で include により、adver_edit という名前のファイルが読み込まれています。図に示す通りです:

このファイルは YzmCMS-V3.7\application\advertisement\view のパスにあります。ここまで、yzmcms はデータに対して一切のフィルタリングを行わず、そのままページに直接出力していることがわかります。図に示す通りです:

この機能はバックエンドの管理画面にあります。図に示す通りです:

フォームを送信した後、burp でこのデータパケットを傍受し、title を "> に変更して、送信をクリックします。図に示す通りです:

広告管理画面に戻って更新すると、この時点でXSSのポップアップが表示されます。図に示す通りです:
