XSS学习&实践

web安全一直是开发中不可忽视的一部分。而xss作为web开发中最常见的攻击手段,防范是必然的。基于web浏览器tricks,JavaScript的发展,npm等开源项目漏 洞,web注入等会让开发者越来越防不胜防。

插入执行标签

  • script
  • img onerror触发
  • iframe srcdoc触发

标签等提前闭合(截断)

  • 如在富文本, input, textarea, 可编辑div等,0x010x02
  • style标签
    1
    2
    3
    <style>
    </style ><script>alert(1)</script>
    </style>
  • 注释提前闭合
    1
    --!><script>alert(1)</script>

  • input type重写 input的type,在type之前可以重写为image,通过onerror注入

ES6 tag标签

1
<script>alert`1`</script>

转义字符仍可执行

  • script标签可执行 base64的html代码片段
  • onerror可执行 转义为 html 10进制, 16进制的代码片段
  • url转义为 html 10进制, 16进制 仍可执行, url的定义可获取其他域下的资源文件
    1
    scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

svg不闭合也执行

正则替换不靠谱

  • 正则替换
  • 正则命中
  • 追加执行,正则替换失效

防护

  • 配置安全头
  • xss监控
  • 服务端白名单过滤
本文结束感谢您的阅读

本文标题:XSS学习&实践

文章作者:陈宇(cosyer)

发布时间:2020年06月24日 - 01:06

最后更新:2020年07月21日 - 23:07

原始链接:http://mydearest.cn/2020/XSS%E5%AD%A6%E4%B9%A0&%E5%AE%9E%E8%B7%B5.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!