风炫安全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漏洞测试流程
- 在目标站点上找到输入点,比如查询输入框,留言板等
- 输入“特殊字符+唯一标识符”,点击提交之后,查看返回的源码,是否有做对应的处理
- 通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造JS的条件(构造闭合)
- 提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在漏洞
注意点:
-
一般查询输入框最容易出现反射型XSS,留言板容易出现存储型XSS
-
scirpt标签可能会被过滤掉,所以最好换其他的html标签
<img src=1 onerror=alert(1)> <p> <hr> script scr/**/ipt scr%20ipt script
-
通过变换不同的script标签,尝试绕过后台过滤机制
上一篇: XSS漏洞修复方案