xss跨站脚本攻击

文章目录

XSS (跨站脚本攻击) 原理是攻击者将恶意脚本注入到其他网站,当用户访问该网站时,恶意脚本会在用户的浏览器中执行,从而窃取用户信息、劫持会话或篡改页面内容。这种攻击利用了网站对用户输入未充分验证和过滤的漏洞。

Cookie概述

  1. JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie。
    创建cookie:document.cookie="username=David";
    以为 cookie 添加一个过期时间:document.cookie="username=David; expires=Thu, 18 Dec 2026 12:00:00 GMT";
  2. cookie实例:
    创建html,并写入创建cookie来存储用户名:

    打开浏览器进行访问:

    再刷新一下页面,就能显示欢迎 '再次' 访问,因为cookie中已存在记录了

XSS攻击的原理:

  1. 漏洞产生:
    网站在处理用户输入时,如果未对输入进行充分的验证、过滤或转义,就直接将用户输入的内容嵌入到页面中,就可能存在XSS漏洞。
  2. 恶意脚本注入:
    攻击者构造包含恶意脚本(通常是JavaScript)的URL、表单数据或其他输入,并诱导用户访问或提交。
  3. 脚本执行:
    当用户访问包含恶意脚本的页面时,浏览器会将其解析为HTML和JavaScript代码并执行。
  4. 攻击行为:
    恶意脚本可以执行各种恶意操作,例如:
    窃取Cookie:攻击者可以获取用户的Cookie,从而获取用户的会话信息,并冒充用户进行操作。
    劫持会话:攻击者可以通过Cookie或会话令牌劫持用户的会话,从而控制用户的账户。
    篡改页面:攻击者可以修改页面内容,例如显示虚假信息、进行钓鱼攻击等。
    重定向:攻击者可以将用户重定向到恶意网站。
    传播恶意软件:攻击者可以利用XSS漏洞传播恶意软件。

XSS攻击的分类:

首先先要装好 sqli-libs 和 DVWA 靶机环境

反射型XSS:

恶意脚本包含在URL中,当用户点击带有恶意脚本的链接时,服务器将恶意脚本"反射"回浏览器执行。

添加一条 JavaScript 代码获取 cookie
<script>alert(document.cookie);</script>

查看是否和浏览器中的cookie信息是否一致

存储型XSS:

恶意脚本被存储在服务器端(例如数据库),当用户访问包含恶意脚本的页面时,服务器从数据库中读取数据并返回给浏览器执行。这种攻击方式危害更大,因为恶意脚本是永久存储的。

再次刷新页面,还是可以弹出弹出 cookie 信息

在服务器中的数据库中查看数据存放位置:

DOM型XSS:

恶意脚本在浏览器端通过JavaScript修改DOM,从而影响页面内容。

创建一个加载 javascript 脚本的dom 网页:

在/var/www/html/dom.html文件中写入以下内容

写入后保存退出,并进入浏览器进行访问

进行 XSS DOM 攻击:

XSS攻击的关键在于网站对用户输入没有进行充分的安全处理,导致恶意脚本得以执行。攻击者利用这种漏洞,可以对用户和网站造成严重的危害。防御XSS攻击需要从网站开发阶段就进行严格的安全措施,包括输入验证、输出编码、使用安全框架等。

反射型XSS和存储型XSS的区别

存储型 XSS 和反射型 XSS 的主要区别是:

XSS 只会弹一次 cookie 信息。存储型 XSS 每次访问这个页面都是会弹出 cookie 信息。因为 XSS 代码已经嵌入在了该 Web 站点当中,所以每次访问都会被执行。

相关推荐
德迅云安全—珍珍8 分钟前
什么是udp攻击,为什么udp攻击难防御
网络·网络协议·udp
运维行者_1 小时前
OPM 与传统管理工具的区别,在网络修复与自动化运维方面的优势在哪里?
运维·服务器·开发语言·网络·自动化·php·ssl
广州灵眸科技有限公司1 小时前
瑞芯微(EASY EAI)RV1126B 音频输入
linux·开发语言·网络·音视频
计算机程序设计小李同学2 小时前
动漫之家系统设计与实现
java·spring boot·后端·web安全
网安INF3 小时前
SSL/TLS密钥派生机制与安全攻防体系深度解析
网络·安全·网络安全·密码学·ssl
TG:@yunlaoda360 云老大3 小时前
华为云国际站代理商NAT的规格有哪些?
服务器·网络·华为云
CICI131414133 小时前
焊接机器人负载能力选择标准
网络·数据库·人工智能
Xの哲學3 小时前
Linux UPnP技术深度解析: 从设计哲学到实现细节
linux·服务器·网络·算法·边缘计算
Trouvaille ~3 小时前
【Linux】从磁盘到文件系统:深入理解Ext2文件系统
linux·运维·网络·c++·磁盘·文件系统·inode
乾元4 小时前
AI 驱动的入侵检测与异常会话判别:从规则到行为分析前言:从“捕获敌人”到“守卫秩序”
运维·网络·人工智能·网络协议·安全