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

风炫安全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
  1. 通过变换不同的script标签,尝试绕过后台过滤机制

参考:
https://blog.evalshell.com/2020/12/20/%e9%a3%8e%e7%82%ab%e5%ae%89%e5%85%a8web%e5%ae%89%e5%85%a8%e5%ad%a6%e4%b9%a0%e7%ac%ac%e5%8d%81%e4%b9%9d%e8%8a%82%e8%af%be-xss%e7%9a%84%e6%bc%8f%e6%b4%9e%e5%9f%ba%e7%a1%80%e7%9f%a5%e8%af%86%e5%92%8c/

猜你喜欢

转载自blog.csdn.net/hyj123480/article/details/111611337