浅谈反射型、存储型和DOM型XSS的区别
反射型XSS:攻击者构造一个参数包含恶意js代码的URL,诱骗用户点击,用户访问后向服务器发送请求,服务器响应包含恶意代码的页面,并在客户端执行。例如服务器后端存在PHP代码echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
,参数name传入js代码后,则会在服务器生成恶意页面,然后返回给客户端执行
存储型XSS:攻击者通过网页的留言、评论等交互处将恶意代码注入到服务器数据库中,用户请求后响应包含恶意代码的页面
DOM型XSS:攻击者构造一个参数包含恶意js代码的URL,诱骗用户点击,用户访问后向服务器发送请求,服务器的响应并不包含恶意代码,而是URL中的代码直接在本地浏览器由js执行。例如下面的html页面,当URL的参数a传入js恶意代码后,会直接被html内嵌的js代码写入到html中,并不需要经过服务器的处理
<html> <head> <title>DOM-XSS test</title> </head> <body> <script> var a=document.URL; document.write(a.substring(a.indexOf("a=")+2,a.length)); </script> </body> </html>
分类:
web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!