风炫安全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/风炫安全web安全学习第十九节课-xss的漏洞基础知识和/

最新文章

  1. php数组常见的几种遍历方法
  2. ubuntu安装php常见错误集锦
  3. 在Eclipse中设置Java类上面的注释(包含作者、日期等)
  4. [转] sql数据类型 varchar与nvarchar的区别
  5. 上传文件 file upload 学习笔记
  6. Contains Duplicate II leetcode
  7. postman 第5节 Runner的使用(转)
  8. 7K - find your present (2)
  9. 原生JS-旋转木马
  10. logstash收集TCP端口日志
  11. 软件工程(FZU2015) 学生博客列表(最终版)
  12. centOS连接没问题,使用SecureCRT就不能连接
  13. Linux内核基础设施
  14. python3之深浅拷贝
  15. BZOJ1050 HAOI2006旅行(最小生成树+LCT)
  16. “java.lang.NullPointerException”异常分析
  17. JS 处理浮点型问题
  18. PHP快速入门 如何导入网站模板
  19. jquery 获取css position的值
  20. atitit.自己动手开发编译器and解释器(1) ------词法分析--attilax总结

热门文章

  1. 使用cmd制作图片木马
  2. flask实现分类搜索的小测试
  3. redis学习之——持久化RDB 和AOF
  4. JavaSE04-Switch&amp;循环语句
  5. Android studio使用OKGO的POST请求访问http失败的解决方法
  6. metinfo小于v6.2.0版本通杀SQL盲注漏洞分析
  7. Angular *ngIf length
  8. 一个shell程序
  9. QEMU/KVM网络模式(二)——NAT
  10. Python批量创建word文档(1)- 纯文字