JavaScriptの脆弱性(XSS)
XSSとは
XSS(クロスサイトスクリプティング)とは、攻撃者が送り込んだ悪意のあるコードをそのページを閲覧した不特定多数のユーザーに、スクリプトとして実行させる可能性があることを指す。
JavaScriptの例としては、innerHTMLがある。
<form>
<input id="input" type="text" />
<button id="button" type="button">Click</button>
</form>
<p id="result"></p>
<script>
const btn = document.querySelector("#button");
const input = document.querySelector("#input");
const result = document.querySelector("#result");
button.addEventListener('click', () => {
resule.innerHTML = input.value;
})
</script>
以下の文字列を入力しボタンをクリックするとalertが表示されてしまう。
<div onclick="alert('攻撃するぞ!!!')">hogehoge</div>
対処方法はinnerHTMLを使用せず、textContentを使用する。