XSS漏洞分析



  • 什么是XSS


    • 跨站脚本***(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本***缩写为XSS。恶意***者往web页面里插入而已html代码,当浏览该页之时,嵌入其中web里面的html代码会被执行,从而达到而已***用户的特殊目的。
  • XSS可以干什么


    • 盗取管理员Cookie或用户Cookie
    • XSS Worm
    • 挂马(水坑***)
    • 有局限性的键盘记录
  • XSS分类


    • 放射性XSS
    • 存储型XSS
    • DOM XSS
    • flash XSS
    • mXSS
  • 反射(非持久)型XSS


    • 发出请求时,XSS代码出现在URL中,最后输入提交到服务器,服务器解析后响应在响应内容中出现这段XSS代码,最后浏览器解析执行
    • 这个过程就像一次反射,所以命名为反射性XSS
xss.php #提交 /xss.php?x=

  • 服务端解析式,echo就会完整的输出到响应体中,然后浏览器解析执行触发弹窗
  • 储存(持久)型XSS


    • 储存型XSS和反射型XSS的差别仅在于:提交的XSS代码会储存在服务器(不管是数据库/内存/文件系统等),下次请求目标页面是不用在提交XSS代码。
    • 最典型的例子就是留言板XSS,用户提交一条包含XSS代码的留言储存到数据库中,目标用户查看留言板是,那些留言内容会从数据库查村出来并显示,浏览器发现有XSS代码,就当作正常的HTML和JS解析执行,于是触发了XSS***
    • 储存性XSS的***是最隐蔽的
#eg:http://www.nfpeople.com/user.php?id=21839

  • XSS是如何利用的
    • payload(有效的***代码)
XSS漏洞分析

  • 修复
    • 对XSS的防御需要根据实际情况对用户的输入进行严格的过滤。基于过滤的XSS防御方式通常可分为两种:基于黑名单的过滤和基于白名单的过滤。后者的防御效果往往更好,对于用户在白名单之外的输入,可以直接忽略。在构造白名单的过程中需要保证在不影响用户体验的同时,尽可能杜绝一切不必要的输入内容。


【XSS漏洞分析】转载于:https://blog.51cto.com/dearch/1826827

    推荐阅读