是否存在在ReactJS中滥用dangerouslySetInnerHTML的示例?
每次我查看它时,只是有人在挥手并说“跨站点脚本”。
我见过使用css加载npm模块加载CSS文件的dangerouslySetInnerHTML:
import {stylesheet, classNames} from '../static/css/styles.css'
<Head><style dangerouslySetInnerHTML={{__html: stylesheet}} /></Head>
我正在考虑将危险的SetInnerHTML用于社交媒体共享按钮的一些脚本标签,这些按钮一直在给我的团队带来麻烦。
代码示例和解释如何使用XSS攻击页面将受到高度赞赏!
答案 0 :(得分:10)
<span dangerouslySetInnerHTML={someTextSubmittedByAUser}></span>
想象一下,如果您的页面上有评论部分,并且有人提交了评论:
<script>while(1){}</script>
并且您刚刚将其作为内部HTML传递给某个节点。现在,任何点击加载该评论的页面的人都会将其标签锁定。
人们可以做的事情要多得多。例如,复制cookie并将其发送到远程服务器。