Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xss live总结 #7

Open
jiangtao opened this Issue Sep 13, 2017 · 0 comments

Comments

Projects
None yet
1 participant
@jiangtao
Copy link
Owner

commented Sep 13, 2017

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

本次总结基于耗子的xss-demo,以及自己对xss的理解和知识的吸收。感兴趣的同学可以先去试试,这里就不在累赘提供答案了。 欢迎探讨更多Web安全相关话题。

插入执行标签

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

标签等提前闭合(截断)

  • 如在富文本, input, textarea, 可编辑div等,对应xss-demo 0x01, 0x02

  • style标签

<style>
</style ><script>alert(1)</script>
</style>
  • 注释提前闭合0x05
--!><script>alert(1)</script>
  • input type重写0x06

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

ES6 tag标签

<script>alert`1`</script>

转义字符仍可执行

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

svg不闭合也执行

查看 0x07

正则替换不靠谱

  • 正则替换 0x0C
  • 正则命中 0x0E
  • //追加执行,正则替换失效 0x0F

防护

这样总结对我更好的理解,也明白为什么最后是通过替换不同的字符来做处理。 Web安全路很长,需要持续关注。

@jiangtao jiangtao added the safety label Sep 13, 2017

@jiangtao jiangtao changed the title xss live xss live总结 Nov 9, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.