2017-10-02 4 views
0

내가 다음 코드 줄을 : userInput 사용자 제공 변수입니다.innerHTML 및 XSS 방지

document.getElementById("div-1").innerHTML = userInput;

. 내가 될 영향을받을 만 사용자처럼 느끼기 때문에이 XSS의 예 될 경우

<img src="/" onerror="alert('attack');"/>

는 그러나, 나는 확실하지 오전 : 나는 사용자가 쉽게 같은 것을 삽입하여 유해한 스크립트를 삽입 할 수 실현 공격자.

이것이 XSS의 예입니까? 그렇다면 공격자가 XSS 형태로이 취약점을 활용하는 방법과이 보안 위험을 완화 할 수있는 방법을 보여줄 수 있습니까?

+0

https://security.stackexchange.com/questions/158106/facebooks-warning-of-self-xss – Nit

+0

한 사용자가 다른 사람과 공격 벡터를 공유하는 방법이 있다면 좋을 것입니다. – epascarello

+0

https://www.owasp.org/index.php/Main_Page –

답변

0

예, 이것은 XSS입니다. 공격자 자신이 영향을받는 경우에만 자체 XSS라고합니다. 그러나 자체 XSS는 종종 CSRF와 같은 다른 버그로 연결되어 자체 XSS를 실행 가능한 공격 벡터로 바꿀 수 있습니다.

.innerHTML 대신 .textContent에 userInput을 할당하면 브라우저가 HTML이 아닌 텍스트로 데이터를 처리하도록 지시합니다.