xss攻击

  1. jsx中防止注入攻击 https://zh-hans.reactjs.org/docs/introducing-jsx.html#jsx-prevents-injection-attacks
  2. 当使用花括号 {} 直接引用渲染的内容时,react会自动转义为字符串
  1. const xssHtml = "<img onerror='alert('xss hacked')' src='./logo.jpg'>"
  2. const xssFn = "javascript: alert('xss function hacked')"
  3. function App() {
  4. return (
  5. <div>
  6. {xssHtml} // xss失败
  7. <a href={xssFn}>href xss攻击</a> // xss成功
  8. </div>
  9. )
  10. }

image.png

xss 跨站脚本攻击

Cross-sitescripting https://developer.mozilla.org/zh-CN/docs/Glossary/Cross-site_scripting
跨站脚本攻击(Cross-site scripting,XSS)是一种安全漏洞,
攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。
当被攻击者登陆网站时就会自动运行这些恶意代码,从而,攻击者可以突破网站的访问权限,冒充受害者。
根据开放式 Web 应用安全项目(OWASP),XSS 在 2017 年被认为 [7 种最常见的 Web 应用程序漏洞之一](https://owasp.org/www-project-top-ten/OWASP_Top_Ten_2017/Top_10-2017_A7-Cross-Site_Scripting
(XSS))。