【web安全】深入浅出XSS攻击

一文搞懂Web安全:安全概念/攻防案例/学习路线 本文介绍了 Web 安全的基本概念,以及大量的攻防技巧,其实这只是 Web 安全中的冰山一角,如果你对此感兴趣,不妨在安全领域继续深耕学习,一定能看到更广阔一片天。对于一个开发者来说,我们应该在写代码时就将安全考虑其中,形成自己的一套安全开发体系,做到心中有安全,时时考虑安全,就能无形之中化解不法分子的攻击。 阅读详情

在学习JS的过程中,你一定听说过CSRF攻击和XSS攻击。关于CSRF攻击,我已经在之前的文章中介绍过了,本文就来介绍一下XSS攻击。

XSS定义和原理

发出请求时,XSS代码出现在url中,作为输入提交到服务端,服务端解析后响应,XSS代码随响应内容一起回传给浏览器,最后浏览器解析并执行XSS代码。

XSS防御措施

一般xss防御措施有三种:

  • 编码
  • 过滤:原样显示用户输入内容时,要把不合法的内容过滤掉。
    如dom属性、style属性、script节点、iframe节点等。
  • 校正
    使用dom parse转换,校正dom标签

XSS实战

1. 构建一个express应用

对于没有过node开发经验的同学,我这里简单介绍一下创建express应用的步骤。

  1. 创建一个目录mkdir xss
  2. 利用express命令,在当前目录下创建一个express脚手架 express -e ./
  3. 安装所有依赖 npm install
  4. 启动服务 npm start
  5. 访问 localhost:3000
2. 修改脚手架代码,使得url中参数随响应内容回传给浏览器
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express', xss: req.query.xss});
});

module.exports = router;
<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
    <div>
      <%- xss %>
    </div>
  </body>
</html>
3. 参数中携带有攻击性的脚本

携带img标签:
http://localhost:3000/?xss=<img src="null" onerror="alert(123)"
你会发现alert并没有弹出来,并看到浏览器端报错。
在这里插入图片描述
这是在响应头里默认加入了xss防御检查标志,浏览器做了xss防御保护。我们这里先关闭。

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.set('X-XSS-Protection', 0)
  res.render('index', { title: 'Express', xss: req.query.xss});
});

module.exports = router;

此时可以看到alert弹窗就弹出来了。
在这里插入图片描述
此时,我们就成功进行了一次xss攻击。
demo地址

参考

https://blog.youkuaiyun.com/Lxd_0111/article/details/78028889


为什么要进行url编码?
HTTP协议中参数的传输是“key=value”键值对的形式,如果要传输多个参数要用“&”符号进行分割。这样服务器在接收到这种字符串的时候,会用“&”符号分割出每个参数,再用“=”分割出参数值。
现在有这样一个问题:当参数中包含“=”或“&”等特殊字符时,服务器解析字符串就会出错。所以,需要对特殊字符进行编码。

从VBA到Python:探索CODE V API在MTF数据分析中的跨语言实践 本文详细介绍了如何从VBA转向Python,利用CODE V API实现MTF数据分析的高效工作流。通过Python的科学计算库和现代API设计,光学工程师可以大幅提升数据处理和可视化效率,实现自动化报告生成和性能优化。 阅读详情

相关推荐

Opencv计算相机响应函数(Camera Response Function)与Radiance

本文主要用于记录自己在学习CRF过程中遇到的一些问题。 CRF模型 I=f(V(t⋅L))I=f(V( t\cdot L))I=f(V(t⋅L)) 其中III为相机灰度值Intensity,LLL为环境中irradiance,ttt为曝光时间,VVV为相机镜头参数,fff为相机响应函数CRF。 有些论文中认为相机镜头参数是线性的不考虑,但有些考虑了衰减即靠近图像边缘亮度会暗一些,但没有看到二者同时计算的,如果同时计算两个非线性的函数,我觉得可能会有不确定性,在这里还请教一下了解的朋友。 控制

larrydong的博客 6001

XSS(跨站脚本攻击)详解

XSS是一种常见的安全漏洞,它允许攻击者在受害者浏览器上执行恶意脚本。攻击者通过在网页中注入恶意代码,使得用户浏览该页面时,恶意代码会被执行。

jkzyx123的博客 1万+

Tip-Adapter: Training-free Adaption of CLIP for Few-shot Classification

对比式视觉-语言预训练,也称为CLIP,通过大规模的图像-文本对来学习视觉表示,为zero-shot知识迁移展示了新的范式。它在下游任务上展现出令人瞩目的性能,实现了zeri-shot的知识迁移。为了进一步增强CLIP的适应能力,现有方法提出了微调可学习模块的方法,显著提高了少样本情况下的性能,但也引入了额外的训练时间和计算资源。在本文中,我们提出了一种适用于CLIP的无需训练的少样本分类方法,称为Tip-Adapter。

qq_43800752的博客 1164

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

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

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

泛微OA表单开发实战:如何用JavaScript动态控制明细表的必填与可编辑属性

本文详细介绍了如何在泛微OA系统中使用JavaScript动态控制明细表字段的必填与可编辑属性。通过主表字段变更事件监听和明细表字段属性批量修改,实现智能化的表单交互,提升用户体验和系统灵活性。文章深入解析了关键API的使用方法,并提供了实战代码示例和最佳实践。

weixin_30955617的博客 549

Android 12.0 SystemUI下拉状态栏定制化之隐藏下拉通知栏布局功能实现(二)

在12.0的系统定制化开发中,由于从12.0开始SystemUI下拉状态栏和11.0的变化比较大,所以可以说需要从新分析相关的SystemUI的 布局,然后做分析来实现不同的功能,今天就开始实现关于隐藏SystemUI下拉状态栏中的通知栏布局系列二,去掉下拉状态栏中 通知栏部分 白色的圆角背景

安卓兼职framework和app工程师的博客 1634

XSS详细讲解

XSS 1.XSS简介 (1)XSS简介 XSS作为OWASP TOP 10之一。 XSS中文叫做跨站脚本攻击(Cross-site scripting),本名应该缩写为CSS,但是由于CSS(Cascading Style Sheets,层叠样式脚本)重名,所以更名为XSS。XSS(跨站脚本攻击)主要基于javascript(js)来完成恶意的攻击行为。 XSS是一种经常出现在web应用中的计算机大全漏洞,也是web中最主流的攻击方式。那么什么是XSS呢? XSS是指恶意攻击者利用网站对用

qq_44857938的博客 2万+

材料带隙预测(图神经网络)(⭐⭐)—— 用晶体图网络预测钙钛矿材料的能带隙,加速光伏材料筛选。技术栈:CGCNN、MEGNet、Materials Project数据集

钙钛矿太阳能电池以其高效率、低成本的优势迅速崛起,但传统“试错法”材料筛选效率极低,严重制约了光伏技术的迭代速度。近年来,基于图神经网络的材料带隙预测方法,特别是晶体图神经网络(CGCNN)和材料图网络(MEGNet),为这一问题提供了革命性的解决方案。本文系统梳理了材料带隙预测从传统计算到深度学习的演进历程,深入剖析了CGCNN与MEGNet的架构设计、数学原理及创新机制,详细阐述了Materials Project数据集的构建、特征工程与处理策略。

2201_76125393的博客 47

xss攻击原理与解决方法

概述XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌。攻击的条件实施

套路猿的博客 8万+

PCB层叠结构与阻抗计算

1.Core 和 PP PCB两个重要组成部分:Core 和 Prepreg(半固态片,简称PP)。 如下图所示, Core 的两个表面都铺有铜箔,可作为信号层、电源层、地层等导电层,Core的上下表面之间填充的是固态材料; PP的表面不铺铜,在PCB中起填充作用,其材质是半固体的树脂材料,因此比Core略软一些。 在制作多层板时,需配合使用Core和PP,一般在两个Core 之间应选PP作为填...

sinat_15677011的博客 1万+

ShardingJDBC支持批量插入数据

最近在进行分库分表,但是有张表,里面有一些批量的插入。 也就是: insert xxx values(...),(...),(...) 这样的语句。 开始我的依赖是: <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core</artifactId> <v

谙忆-陈浩翔 9766

XSS攻击详解

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

weixin_47450807的博客 3万+

Autosar PNC网络管理配置(1)-基于ETAS软件

Autosar PNC网络管理配置(1)-基于ETAS软件

赞的博客 2730

Web安全基础指南:从HTML、CSS、JavaScript到XSS漏洞实战

在数字化时代,Web开发技术是连接用户与信息的关键桥梁。HTML、CSS、JavaScript作为构建网站的三大基石,不仅承载着网页的结构、样式与交互,还直接关联着Web安全。本文将深入浅出地介绍HTML基础与实战应用、CSS样式设计、JavaScript动态编程,以及Web安全领域的关键议题——跨站脚本攻击(XSS)的入门与实战防御策略。

Alfadi联盟 萧瑶的博客 713

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【干货盘点】Web安全常见漏洞原理与实战:SQL注入、XSS、CSRF、DDoS一文全掌握

在世界人口近80亿的地球上,每天尚且发生数以百万计的抢劫打架斗殴事件,网络更是如此,网络攻防战几乎每时每刻都在发生。如果说打架斗殴枪击事件离我们还很远,那网络攻防战在你打开手机的时候就开始了!博主能力有限,暂不谈网络攻防具体操作实现过程,我们用通俗易懂的语言一块聊聊——神秘的“网络攻防”每当听到“网络攻防”这个名词,有没有一瞬间觉得很神秘?脑海中是否下意识的出现身穿黑色连衣帽的黑客中黑入某机构网站的场景?其实它并没有想象中的那么神秘,接下来我们一块唠唠常见的几种常见的网络攻防技术。

Misdirection_XG的博客 827

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

前端必备的 web 安全知识手记

总的来说就是页面可输入或拼接显示的地方就可能会有潜在的风险。我们演示个小的 demo,虽然实际上不是这样的😂,但意思到了:当我们第一次输入的时候,alert不生效是因为 H5 中规定用innerHTML插入的 script 将不被执行,但是我们可以写别的,比如,此时 alert 就被执行了,这个在 MDN 上有明确的说明,这里给大家截图看一下👀:作为前端平时要注意 innerHTML 等一些有字符串拼接并展示的地方。

2201_75735270的博客 999

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

渗透小白3:XSS与SQL注入

XXS攻击 1、什么是XSS XSS又叫CSS (Cross Site Script) 也称为跨站,它是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 2 、什么是XSS攻击 XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,由于HTML语言允许使用脚本进行简单交互,入侵者便通

qq_50912184的博客 354

【无标题】全网最易懂XSS攻击原理解析,小白也能秒懂的Web安全入门

本文重点:XSS攻击详解;xss攻击的主要目标;xss攻击方式和原理是什么?xss攻击有哪些类型?xss攻击能达到怎样的一种效果?xss攻击要如何防御?

2301_77472496的博客 414

20145230熊佳炜《网络对抗》实验九:web安全基础实践

20145230熊佳炜《网络对抗》实验九:web安全基础实践 webgoat webgoat的中文是代罪羔羊的意思,而它是一个有很多漏洞的web应用程序,我们可以利用它来研究关于web应用程序的安全性。 在我们的kali虚拟机中输入java -jar webgoat-container-7.0.1-war-exec.jar即可运行我们的webgoat。 webgoat默认使用的是808...

abzv9176的博客 292

浅谈php web安全

作者:phpben 来源:http://www.phpben.com/?post=79   浅谈php web安全 前言: 首先,笔记不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说不重视的东西。所以笔者写下来方便以后查阅。在大公司肯定有专门的web安全测试员,安全方面不是phper考虑的范围。但是作为一个php

哲 702

收集的XSS payload

<script\x20type="text/javascript">javascript:alert(1);</script> <script\x3Etype="text/javascript">javascript:alert(2);</script> <script\x0Dtype="text/javascript">javascript:alert(3);</script> <script\x09type="text/jav

weixin_42728957的博客 5711

2017-2018-2 20155303『网络对抗技术』Exp9:Web安全基础

2017-2018-2 『网络对抗技术』Exp9:Web安全基础 ————————CONTENTS———————— 一.基础问题回答 1.SQL注入攻击原理,如何防御? 2.XSS攻击的原理,如何防御? 3.CSRF攻击原理,如何防御? 二.实践过程记录 1.General ①Http Basics 2.Code Quality ①Discover Clues in the HTM...

weixin_34233421的博客 372

XSS入门:从零开始理解跨站脚本攻击

当其他用户浏览这个页面时,这段代码就会在他们的浏览器里执行,可能窃取他们的登录信息,这就是XSS攻击的基本原理。作为一个刚入门网络安全的小白,我自己在学习XSS时也走过不少弯路,所以想用最通俗的方式分享一些心得。作为一个学习平台,我觉得InsCode最棒的地方是它把复杂的安全概念拆解成了小白也能理解的步骤。从基础概念动画讲解,到安全的实践环境,再到即时的错误反馈,整个学习路径设计得非常循序渐进。不需要任何复杂配置,打开网页就能开始学习,还能一键部署自己的练习环境,特别适合像我这样的新手快速上手实践。

GoldenleafRaven13的博客 349

前端必知的Web安全知识(狙击面试知识点)

如MD5、SHA等。哈希算法不可逆,无法从哈希值还原原始数据。哈希算法常用于密码存储和消息完整性验证。MD5(Message Digest Algorithm 5):MD5是一种广泛使用的哈希算法,生成128位(16字节)的哈希值。它在数据完整性校验、和简单的数据一致性检查等场景中被广泛使用。然而,由于MD5存在碰撞(两个不同的输入可以生成相同的哈希值)和弱碰撞(存在相同前缀的两个输入可以生成相同的哈希值)的安全性问题,不适合用于对抗恶意攻击或安全敏感的场景。

2401_85280228的博客 1316

Web网络安全知识扫盲

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 Web网络安全基础知识扫盲 提示:以下是本篇文章正文内容 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as pl

luqi5的博客 318

web安全攻防笔记

1.SQLmap 是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。 支持的数据库:MySQL,Oracle, PostgreSQL, SQL Server, Microsoft Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB。 (1) 安装sqlmap前,需要先安装Python3.X Python Releases for Windows | Python.org ...

m0_65369792的博客 666
上一篇: 箭头函数this指向的陷阱
下一篇: React Native展示富文本(HTML标签)最佳解决方案
Colin_Mindset
博客等级 码龄12年 159粉丝 105原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值