坏的React dangerouslySetInnerHTML示例?

时间:2017-06-16 16:00:20

标签: javascript reactjs xss

是否存在在ReactJS中滥用dangerouslySetInnerHTML的示例?

每次我查看它时,只是有人在挥手并说“跨站点脚本”。

我见过使用css加载npm模块加载CSS文件的dangerouslySetInnerHTML:

import {stylesheet, classNames} from '../static/css/styles.css'
<Head><style dangerouslySetInnerHTML={{__html: stylesheet}} /></Head>

我正在考虑将危险的SetInnerHTML用于社交媒体共享按钮的一些脚本标签,这些按钮一直在给我的团队带来麻烦。

代码示例和解释如何使用XSS攻击页面将受到高度赞赏!

1 个答案:

答案 0 :(得分:10)

<span dangerouslySetInnerHTML={someTextSubmittedByAUser}></span>

想象一下,如果您的页面上有评论部分,并且有人提交了评论:

<script>while(1){}</script>

并且您刚刚将其作为内部HTML传递给某个节点。现在,任何点击加载该评论的页面的人都会将其标签锁定。

人们可以做的事情要多得多。例如,复制cookie并将其发送到远程服务器。