网络安全-跨站脚本攻击(XSS)的原理、攻击及防御,非常详细,从零基础到精通,收藏这篇就够了!

网络安全之从原理看懂 XSS 阅读详情

目录

简介

所用工具

XSS的类型

反射型XSS/不持久型XSS

存储型XSS/持久型XSS

基于DOM的XSS

常用Payload与工具

XSS扫描工具

Payloads

script标签类

结合js的html标签

伪协议

绕过

危害

防御


简介

跨站脚本攻击(全称Cross Site Scripting,为和CSS(层叠样式表)区分,简称为XSS)是指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网页之时,嵌入其中Web里面的javascript代码会被执行,从而达到恶意攻击用户的目的。XSS是攻击客户端,最终受害者是用户,当然,网站管理员也是用户之一。
XSS漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。

php中常见的输出函数有:

  • echo
  • printf
  • print
  • print_r
  • sprintf
  • die
  • var-dump
  • var_export

所用工具

Google出品:开源Web App漏洞测试环境:Firing Range

靶机:dvwa、pikachu

XSS的类型

反射型XSS/不持久型XSS

选择的是echo函数,不加过滤,直接输出

input.php

<?php 
$input = $_GET['input'];
echo 'output:<br>'.$input;
?> 

显示

可以看到我们的输入直接被输出。 那么,如果我们的参数是JavaScript代码呢?

<script>alert('xss attack by lady_killer9')</script>

js代码执行

也就是说js能够做到的事情,都可在这里插入去实现,比如跳转到钓鱼网站。

Firing Range的Html Body存在的反射型XSS

反射性XSS攻击之html Body

脚本插入

下面是在dvwa中的展示

插入js代码

提交

查看网页源代码

存储型XSS/持久型XSS

和反射型XSS的即时响应相比,存储型XSS则需要先把代码保存到数据库或文件中,下次读取时仍然会显示出来,利用的问题依然是没有对用户的输入进行过滤。使用靶机pikachu的存储型xss。

<script>alert(document.cookie)</script>

XSS注入

注入成功

注入后留言列表

基于DOM的XSS

基于文档对象模型(Document Object Model,DOM)的一种漏洞。客户端的脚本可以通过DOM动态地修改页面内容,它不依赖于提交数据到服务器,而是从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM型XSS漏洞。

没了解过DOM的可以看一看HTML DOM教程

HTML DOM就像数据结构中的树,有根节点,叶子节点等,通过document对象进行写入。

F12查看源代码

使用F12查看,发现是把id为text的输入框的内容显示出来。单引号闭合即可,而且F12的时候就直接看见了。

提示给的是

'onclick="alert('lady_killer9')">

我使用的是

'onclick='alert('lady_killer9')

注入成功

常用Payload与工具

XSS扫描工具

工具不在于多,学一个就可以了,我学习的是第一个网络安全-XSStrike中文手册(自学笔记)。

Payloads

script标签类

对于没有过滤的很简单的XSS漏洞,可以使用

有的时候会过滤掉script,大小写、双写等无法绕过,可使用后面的payload。

结合js的html标签

可结合一些onclick、onerror等事件

<IMG οnmοuseοver=“alert(‘xxs’)”>

<img src=xss οnerrοr=alert(1)>

伪协议

上面的都不行的话,可以试试伪协议

绕过

大小写绕过

双写绕过

alert(“XSS”)

html编码绕过

<script>alert(“XSS”)</script>

等价于

a

等价于

a

如果你还不了解常见编码,可查看:网络安全-WEB中的常见编码

标签优先级绕过

标签比标签解析优先性更高,所以会优先闭合,导致标签逃逸,从而造成xss执行

危害

  1. 用户的Cookie被获取,其中可能存在Session ID等敏感信息。若服务器端没有做相应防护,攻击者可用对应Cookie登陆服务器。
  2. 攻击者能够在一定限度内记录用户的键盘输入。
  3. 攻击者通过CSRF等方式以用户身份执行危险操作。
  4. XSS蠕虫。
  5. 获取用户浏览器信息。
  6. 利用XSS漏洞扫描用户内网。

防御

  • 标签过滤
  • 事件过滤
  • 敏感字符过滤
  • 设置httponly防止Cookie被获取
  • 内容安全策略(CSP)
  • 在将不可信数据插入到HTML标签之间时,对这些数据进行HTML Entity编码
  • 在将不可信数据插入到HTML属性里时,对这些数据进行HTML属性编码
  • 在将不可信数据插入到SCRIPT里时,对这些数据进行SCRIPT编码
  • 在将不可信数据插入到Style属性里时,对这些数据进行CSS编码

当然,如果过过滤不全,或者CSP配置错误,也可能被绕过。

------------------------------------20210821补充--------------------------------------

知乎-如何通过XSS获取http-only保护的Cookie

在线XSS挑战:XSS平台|CTF欢迎来到XSS挑战|XSS之旅|XSS测试

XSS Challenges:XSS Challenges

XSS Payload:https://github.com/payloadbox/xss-payload-list

OWASP XSS过滤备忘单:Redirecting…

相对路径引入js进行XSS攻击:RPO攻击技术

防御XSS的七条准则

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

本文转自 https://blog.youkuaiyun.com/lady_killer9/article/details/107126005?spm=1001.2014.3001.5502,如有侵权,请联系删除。

黑客/网络安全学习包

资料目录

  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)页面展示... 阅读详情

相关推荐

中间人攻击(非常详细)零基础入门到精通,收藏这篇就够了

中间人攻击(非常详细)零基础入门到精通,收藏这篇就够了

weixin_57514792的博客 913

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

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

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

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

跨站脚本攻击(全称Cross Site Scripting,为和CSS(层叠样式表)区分,简称为XSS)是指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网页之时,嵌入其中Web里面的javascript代码会被执行,从而达到恶意攻击用户的目的。XSS是攻击客户端,最终受害者是用户,当然,网站管理员也是用户之一。XSS漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是。

2401_84239830的博客 1173

XSS攻击详解

本篇博客主要总结一下什么是XSS攻击,并且如何防范XSS攻击。 一、什么是XSS攻击 XSS攻击中文名称为:跨站脚本攻击,XSS的重点不在于跨站,而在于脚本的攻击。 XSS攻击的工作原理:攻击者会在web页面中插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌套在该页面的代码就会执行,因此会达到攻击用户的目的。 XSS的分类:XSS攻击最主要分为如下几类,反射型,存储型,DOM-based型。反射型和DOM-based型可以归类于非持久性XSS攻击。存储型可以归类于持久性XSS攻击。 二、反射型

weixin_47450807的博客 3万+

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

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

简介 2544

【分子指纹】化学分子指纹的概念和应用(非常重要)

分子指纹(Molecular fingerprints)可以低计算成本的方式表示大规模化学数据集中化合物的化学(结构、物理化学等)性质。它们在将化学数据集中的分子转换为适合于计算方法的一致输入格式(bit向量或数值)方面发挥着重要作用。在这篇综述中,

DJJ5210的博客 1万+

DDOS攻击原理(非常详细)从零基础入门到精通,看完这一篇就够了

2.1 DDoS攻击原理DDoS攻击(Distributed Denial of Service Attack,分布式拒绝服务攻击)的前身是DoS攻击(Denial of Service Attack,拒绝服务攻击),是指一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击。DDoS攻击可以看作DoS攻击的Plus版本,它可以将分布在不同地方的多台计算机联合起来形成攻击平台,对一个或多个目标发动攻击,从而产生成倍的拒绝服务攻击的威力。

leah126的博客 5万+

李沐之数值稳定性+模型初始化和激活函数

层记为t,这里的y不是预测,还包括了损失函数,y是优化函数,不是预测的结果y。第t层是输出。所有的h都是一些向量,向量关于向量的导数是一个矩阵,所以用了很多次的矩阵乘法,出问题就在这里。

m0_51133942的博客 1527

网络安全常见十大漏洞总结(原理、危害、防御)非常详细,从零基础到精通,收藏这篇就够了!

本文总结了网络安全中十大常见漏洞的原理、危害及防御措施,包括弱口令、SQL注入、文件上传、XSS、CSRF等。弱口令因安全意识不足导致,防御需遵循复杂密码规则;SQL注入通过构造特殊语句攻击数据库,建议使用预编译语句和参数过滤;文件上传漏洞需严格验证文件类型并设置不可执行目录;XSS跨站脚本攻击可窃取信息,需对用户输入进行过滤;CSRF伪造用户请求,可通过验证Referer和Token防御。文章提供了从基础到精通的详细防护方案,是网络安全防护的实用指南。

chengxuyuanyy的博客 1719

【关于四足机器人那些事】足端轨迹规划-八次多项式轨迹

系列文章目录 文章目录系列文章目录前言一、多项式曲线二、八次多项式曲线总结 前言 在四足机器人的研究中,有一个很关键的问题,就是如何减少足端在触地瞬间的冲击,避免把机器人把自己给蹬倒了?这时候就需要一个合理的足端轨迹规划。本篇将会介绍几种足端轨迹。 本文将对四足机器人的足端轨迹进行规划。将数学中的复合摆线和多项式曲线引入到足端轨迹的规划中,根据零冲击原则[2],规划出 3 条满足要求的足端轨迹,包括: 复合摆线轨迹 八次多项式轨迹 分段五次多项式轨迹 本篇先介绍 - 八次多项式轨迹 一、多项式曲

LiuZ的博客 2955

如何利用CANoe在两路CAN通道之间创建网关(gateway)

CANoe网关,利用CAPL实现CAN转发

Richy_Lai的博客 7897

网络安全-点击劫持(ClickJacking)的原理、攻击及防御(非常详细)从零基础到精通,收藏这篇就够了!

点击劫持是一种通过透明iframe覆盖诱骗用户点击的攻击方式,攻击者利用视觉欺骗让用户在不知情的情况下执行恶意操作。防御措施包括frame busting脚本、X-Frame-Options响应头、Content Security Policy策略以及NoScript扩展等。除点击劫持外,类似攻击还包括拖拽劫持和触屏劫持,原理相同但形式不同。本文通过示例代码和示意图详细说明了攻击原理及多种防御方案,帮助读者理解这种视觉欺骗类攻击的本质与防护方法。

QXXXD的博客 1273

从叶片之舞到数据之眼:净空雷达如何重塑风电安全与效率的边界

净空雷达通过激光或毫米波技术实现风机叶片与塔筒间距离的毫米级实时监测,极大提升了风电场在极端天气下的安全性与运营效率。这项技术不仅预防扫塔事故,还通过数据可视化与智能分析赋能叶片健康管理和发电优化,成为风电数字化运维的核心基础设施。

xk7n92h3p5m的博客 1161

Web安全CSRF攻击与防御,从零基础到精通,收藏这篇就够了!

跨站请求伪造,也被称为“OneClick Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。上图为CSRF攻击的一个简单模型,用户访问恶意网站B,恶意网站B返回给用户的HTTP信息中要求用户访问网站A,而由于用户和网站A之间可能已经有信任关系导致这个请求就像用户真实发送的一样会被执行。

韩束一叶子 1022

高频电磁场仿真-主题064-伴随变量法与灵敏度分析

在电磁器件优化设计中,梯度信息对于指导优化方向至关重要。考虑一个典型的电磁优化问题: 其中 p=[p1,p2,...,pn]Tp = [p_1, p_2, ..., p_n]^Tp=[p1​,p2​,...,pn​]T 是设计参数向量(如几何尺寸、材料参数等)。传统有限差分法的困境:示例: 一个具有100个设计参数的天线优化问题伴随变量法(Adjoint Variable Method, AVM)通过引入伴随场,将梯度计算复杂度从 O(n)O(n)O(n) 降低到 O(1)O(1)O(1):伴随变量法在计算

kkchenjj的博客 411

107.在 Vue 3 中使用 OpenLayers 实现视图联动功能

是一个非常强大的 Web 地图渲染库,支持多种地图数据格式和交互操作。在 Vue 3 中,我们可以利用。绑定到真实的 DOM 元素上,我们就可以用它们来初始化 OpenLayers 地图。来封装和管理 OpenLayers 地图的状态,从而更高效地开发地图应用。,即两个地图窗口共享同一个视图(View),从而实现同步缩放、拖动等操作。这可以确保 Vue 组件销毁时,OpenLayers 也正确销毁地图实例。,并且它们会同步缩放和拖动,达到地图联动的效果。这样,无论你拖动哪个地图,另一个都会同步变化。

小彭的博客 1938

从原理到实战,详解XXE攻击,从零基础到精通,收藏这篇就够了!

常见的支持xinclude特性的xml解析器都是默认关闭xinclude特性的,如果使用,需要在代码中手动开启,如在DOM型解析器中开启如下配置。当xml解析器支持对于外部实体的解析且待解析的xml文件可由外部控制时,就会发生此攻击。常见的支持xinclude特性的xml解析器都是默认关闭xinclude特性的,如果使用,需要在代码中手动开启,如在DOM型解析器中开启如下配置。执行结果:如果程序中不对解析实体做限制的话,可以通过少量的DTD定义,实现海量大小的解析结果的效果,会大量占用服务器的处理、存储。

mmquangefafafa的博客 1030

9.20华为OD机试真题 新系统 - 字符串分组求和 (Java/Py/C/C++/Js/Go)

9.20华为OD机试真题 新系统 - 字符串分组求和 (Java/Py/C/C++/Js/Go)

算法大师! 587

CSRF攻击与防御,Web安全的第一防线。从零基础到精通,收藏这篇就够了!

跨站请求伪造,也被称为“OneClick Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。上图为CSRF攻击的一个简单模型,用户访问恶意网站B,恶意网站B返回给用户的HTTP信息中要求用户访问网站A,而由于用户和网站A之间可能已经有信任关系导致这个请求就像用户真实发送的一样会被执行。

韩束一叶子 941

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

常见网络攻击以及防御方法大全,从零基础到精通,收藏这篇就够了!

对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻居关系,然后传送给攻击路由器大量的链路状态数据单元(LSP),可以导致整个网络路由器的链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同的状态),从而导致路由表与实际情况不符,致使网络中断。最为隐蔽和危险的方法是黑客利用冒充的DHCP服务器,为用户分配一个经过修改的DNS server,在用户毫无察觉的情况下被引导至预先配置好的假金融网站或电子商务网站,骗取用户帐户和密码,这种攻击后果是非常严重的。

Libra1313的博客 1297

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 现代密码学-密码学概论与基本知识(非常详细)从零基础到精通,收藏这篇就够了!
下一篇: Docker部署全攻略:Ollama安装、本地大模型配置与One-API接入(非常详细)从零基础到精通,收藏这篇就够了!
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值