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