
CVE-2020-11023 jQuery XSS 취약점을 시연하는 교육용 랩으로, 공격 페이로드, 완화 기법(text(), CSP, 입력 검증), Docker 기반 테스트 환경을 포함합니다.
<option><script>alert(1)<\/script>
<style><style/>
⚠️ 중요: .html()을 사용한 경우 jQuery만으로는 완전히 막을 수 없습니다
.text() 메서드 사용 ⭐️ 권장// 안전: HTML로 해석되지 않음
$("#result").text(userInput);
<?php
if (isset($_POST["msg"])){
// HTML 엔티티로 변환
$msg = htmlspecialchars($_POST["msg"], ENT_QUOTES, 'UTF-8');
}
?>
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'nonce-xxxxx';">
또는, HTTP 헤더로 설정:
Content-Security-Policy: default-src 'self'; script-src 'self'
<?php
if (isset($_POST["msg"])){
$msg = $_POST["msg"];
// 위험한 태그를 포함하면 거부
$dangerous = ['<script', '
docker coompose up -d --build
브라우저에서 http://localhost:8080에 접속
이 데모 코드는 교육 목적으로만 사용하십시오. 악용은 금지되어 있습니다.
⚠️ 경고: 이 코드는 취약점을 포함하고 있습니다. 프로덕션 환경에서는 절대 사용하지 마십시오.