0


网络安全学习笔记——XSS漏洞


** 如果错过互联网,与你擦肩而过的不仅仅是机会,而是整整一个时代。**

基本概念

    XSS(Cross-site scripting)跨站脚本攻击。(缩写为CSS,但会与层叠样式表 Cascading Style Sheets 混淆,故称XSS)通常发生在客户端,可被用于进行窃取隐私,钓鱼欺骗,窃取密码,传播恶意代码等。
    XSS攻击指通过网页开发时留下的漏洞,通过巧妙的方法注入恶意代码,使用户加载并执行攻击者恶意制造的网页程序。

    在动态页面插入< 等特殊字符时会误认为插入了一段HTML标签,当此标签引入一段JS代码时,脚本程序就会自动执行,如果无法检测或检测出现失误时,就会出现XSS漏洞。

漏洞类型

反射型XSS

     反射型XSS只是将用户输入数据从服务器上反射给用户浏览器,要利用此漏洞,就要诱导用户访问一个恶意URL或直接在用户请求的URL地址里面注入恶意代码,如果服务器未对URL所带参数进行过滤和判断就会一起被传回用户的浏览器,触发反射型XSS。

存储型XSS

    存储型XSS是将恶意代码保存至服务器数据库或文件上,显示到HTML页面中,当用户访问此界面时,就会触发并执行XSS代码。经常出现在用户评论区,留言板,以及论坛等处。

DOM XSS

    DOM XSS 是发生在用户端DOM(Document Object Model文档对象模型)中的跨站漏洞,通过**本地**修改用户浏览器页面上的DOM树而执行,较为难以检测。 

mXSS漏洞

  • 通用型XSS(UXSS):利用浏览器或者浏览器来制造XSS条件并执行XSS代码。
  • CSS中的反斜杠转义导致的mXSS :在CSS中,允许通过 \ 进行转义,正常情况下不会出现任何问题,但如果碰上innerHTML就会产生漏洞。
  • CSS中的双引号实体或转义导致的mXSS :在CSS中 &quot,&#x22等加双引号之后就会导致此类问题。
  • CSS中的属性名转义导致的mXSS :非HTML文档中的实体突变和HTML文档中的非HTML上下文的实体突变都会导致此漏洞。
  • XSS钓鱼:将XSS和钓鱼结合在一起,通过JS模拟出登录框,使用XSS将用户信息发送出去。

······

攻击方式

  1. 盗用cookie,获取敏感信息;
  2. 植入Flash,通过cross domain 权限设置进一步获取更高权限,或利用Java等;
  3. 利用 iframe,frame,或Flash等方式,伪装成用户进行一些管理活动,如发微博,加好友,发私信等;
  4. 利用可被攻击的域或受到其他域信任的特点,以受信任的身份进行一些不允许的操作;
  5. 在访问量极大的网站页面上利用XSS漏洞攻击一些小网站,以达到DDos攻击的效果。

······

防护建议

  • 对所有的输入中的 script,iframe 等进行严格检查,包括HTTP请求中的cookie中的变量以及头部中的变量等。
  • 避免在cookie中泄露用户隐私,通过将cookie和系统IP绑定降低cookie泄露后的危险。
  • 除了验证数据类型,还要验证数据长度,格式,范围和内容。
  • 不仅在客户端做数据验证,在服务端也要做数据过滤。
  • 对输出端进行安全检查。
  • 确定接收内容规范化,去掉任何对远程内容的引用,尤其样式表和Javascript。

······

XSS Worm除了传播感染,恶作剧之外,还有瘫痪网络应用或窃取用户信息的可能。挖洞经验 | 从Twitter的XSS漏洞构造出Twitter XSS Worm - FreeBuf网络安全行业门户

标签: web安全 学习 安全

本文转载自: https://blog.csdn.net/weixin_72324806/article/details/127988404
版权归原作者 Nosery 所有, 如有侵权,请联系我们删除。

“网络安全学习笔记——XSS漏洞”的评论:

还没有评论