欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

风炫安全WEB安全学习第十九节课 XSS的漏洞基础知识和原理讲解

程序员文章站 2024-03-19 14:06:28
...

风炫安全WEB安全学习第十九节课 XSS的漏洞基础知识和原理讲解

跨站脚本攻击(Cross-site scripting,通常简称为XSS)

  • 反射型XSS原理与演示
    交互的数据不会存储在数据库里,一次性的。一般是查询导致或者是错误的js执行

  • 存储型XSS原理与演示

    交互的数据会被存放在数据库里,永久性存储,一般出现在留言板,注册等页面

  • Dom型XSS原理与演示
    漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性也属于反射性

形成XSS的原因主要是程序对输入输出的控制不够严格,导致“精心构造”的字符串被输入后,在输出到前端浏览器被当作有效代码执行从而形成危害

  • firefox浏览器
  • chrome浏览器

XSS漏洞测试流程

  1. 在目标站点上找到输入点,比如查询输入框,留言板等
  2. 输入“特殊字符+唯一标识符”,点击提交之后,查看返回的源码,是否有做对应的处理
  3. 通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造JS的条件(构造闭合)
  4. 提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在漏洞

注意点:

  1. 一般查询输入框最容易出现反射型XSS,留言板容易出现存储型XSS

  2. scirpt标签可能会被过滤掉,所以最好换其他的html标签

    <img src=1 onerror=alert(1)>
    <p>
    <hr> 
    
    script
    scr/**/ipt
    scr%20ipt
    script
    
  3. 通过变换不同的script标签,尝试绕过后台过滤机制