XSS 简述及解决

参考文章:https://www.writesoftwarewell.com/content-security-policy/

什么是XSS

XSS(Cross Site Scripting)即跨站脚本攻击,即当前站点加载并执行了来自其他站点的js,导致Cookie泄漏等安全问题。

怎么产生

多发生在允许用户填写并展示给其他人查看的站点的页面上。用户填写的内容可能直接就是一段script引用

<script src="http://xxx.com/xxx.js"></script>

如果页面直接加载了这段内容,就会产生xss。

怎么解决

  1. 对用户输入中的特殊符号进行转义

less than symbol (<) with <
greater than symbol (>) with >
double quotes (") with "
single quote (’) with ’
ampersand (&) with &

  1. 使用nonce+CSP
<script nonce="dGhpcyBpcyBhIG5v==">alert("test")</script>

Content-Security-Policy: script-src ‘nonce-dGhpcyBpcyBhIG5v==’; style-src ‘nonce-dGhpcyBpcyBhIG5v==’

  1. 使用动态事件绑定
<script> 
    function handle() {
      // click handler code
    } 
</script>

<button onclick="handle();">Click Me</button>

修改为

<button id="submit-btn">Click Me</button>

<script nonce="token">
document.addEventListener('DOMContentLoaded', function () {
  document.getElementById('submit-btn')
          .addEventListener('click', () => { 
            // click handler code
          });
});
</script>

当指定csp策略时,

Content-Security-Policy: default-src ‘none’; script-src ‘nonce-randomValue’

οnclick="handle();"

将不会被执行

相关推荐

  1. XSS 简述解决

    2024-03-30 14:26:04       21 阅读
  2. php解决XSS攻击

    2024-03-30 14:26:04       34 阅读
  3. xss介绍作用

    2024-03-30 14:26:04       18 阅读
  4. nodejs设置x-xss-protection解决xss问题

    2024-03-30 14:26:04       39 阅读
  5. xss攻击原理与解决方法

    2024-03-30 14:26:04       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 14:26:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 14:26:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 14:26:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 14:26:04       20 阅读

热门阅读

  1. Dubbo 几种方式来传递和使用隐式参数

    2024-03-30 14:26:04       18 阅读
  2. Qt_day5:2024/3/26

    2024-03-30 14:26:04       20 阅读
  3. MySQL的日志系统是干什么的?底层原理是什么?

    2024-03-30 14:26:04       17 阅读
  4. [高考] 数学题的一般解题思路

    2024-03-30 14:26:04       18 阅读
  5. 【LeetCode热题100】155. 最小栈(栈)

    2024-03-30 14:26:04       16 阅读
  6. Ubuntu22.04安装 wordpress

    2024-03-30 14:26:04       23 阅读
  7. 数据库原理(含思维导图)

    2024-03-30 14:26:04       22 阅读
  8. 面试题nginx

    2024-03-30 14:26:04       21 阅读