重新整理 .net core 实践篇————防跨站脚本攻击[四十]
前言
简单整理一下跨站脚本攻击。
正文
攻击原理是这样子的:

这种攻击被攻击的面挺多的,比如说只要有一个可以让用户输入的注入脚本就都是一个问题。
给网站注入脚本
然后用户访问给网站注入的脚本
脚本里面的请求都是对攻击者站点的的请求
用户信息就被拿走了
上面这样将可能有点蒙,举一个以前的例子哈。
有一个站点,有一个上传功能,但是上传功能没有限制,被别人注入一个一个index.html页面,里面是登录注册。
然后用户通过某些链接访问了这个index.html,后面的请求都是访问攻击者的站点的请求,然后就被攻击了。
如果这个index.html是一个充值或者登录,那么还是非常危险的,那么如何来做点防护措施呢?
对用户的提交内容进行验证,拒绝恶意脚本
对用户的提交内容进行编码,urlEncoder、javascriptEncoder
少用HtmlString 和 HtmlHepler.Raw
身份信息cookie 设置为httponly.
避免使用path 传递带有不受信的字符,使用query 进行传递
前面两个都是防范的,第三个基本前后端分离也没啥人用,第四个是这样子的,前文提及到的cookie安全问题,因为如果是在同域名的情况下,注入的脚本是可以读取到cookie信息的,那么就被攻击到,故而设置httponly,处于js不可读状态。
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
{
options.Cookie.HttpOnly = true;
})
设置HttpOnly如上。
如果要从根源上解决,就要避免被注入脚本,这个可以使用一些框架,或者和安全公司合作。
结
下一节跨域请求的攻击问题。
重新整理 .net core 实践篇————防跨站脚本攻击[四十]的更多相关文章
- 重新整理 .net core 实践篇—————服务与配置之间[十一二]
前言 前面基本介绍了,官方对于asp .net core 设计配置和设计服务的框架的一些思路.看下服务和配置之间是如何联系的吧. 正文 服务: public interface ISelfServic ...
- 重新整理 .net core 实践篇—————日志系统之战地记者[十五]
前言 本节开始整理日志相关的东西.先整理一下日志的基本原理. 正文 首先介绍一下包: Microsoft.Extengsion.Logging.Abstrations 这个是接口包. Microsof ...
- 重新整理 .net core 实践篇————polly失败重试[三十四]
前言 简单整理一下polly 重试. 正文 在开发程序中一般都有一个重试帮助类,那么polly同样有这个功能. polly 组件包: polly 功能包 polly.Extensions.Http 专 ...
- 重新整理 .net core 实践篇————跨域问题四十一]
前言 简单整理一下.net core 的跨域问题,这个以前也整理过比较详细的,故而在此简单整理一下. 正文 对跨域相对的就是同源,什么是同源呢? 协议相同(http/https) 主机(域名)相同 端 ...
- 重新整理 .net core 实践篇—————3种配置验证[十四]
前言 简单整理一些配置的验证. 正文 配置的验证大概分为3类: 直接注册验证函数 实现IValidteOptions 使用Microsoft.Extensions.Options.DataAnnota ...
- 重新整理 .net core 实践篇—————工作单元模式[二十六]
前言 简单整理一下工作单元模式. 正文 工作单元模式有3个特性,也算是其功能: 使用同一上下文 跟踪实体的状态 保障事务一致性 工作单元模式 主要关注事务,所以重点在事务上. 在共享层的基础建设类库中 ...
- 重新整理 .net core 实践篇————重定向攻击[三十九]
前言 简单介绍一下重定向攻击. 正文 攻击思路: 看着上面挺复杂的,其实是一些很简单的步骤. 攻击者通过某些手段,让用户打开了一个好站点,打开的这个地址里面带有重定向信息,重定向信息就是自己伪造的站点 ...
- 重新整理 .net core 实践篇————配置应用[一]
前言 本来想整理到<<重新整理.net core 计1400篇>>里面去,但是后来一想,整理 .net core 实践篇 是偏于实践,故而分开. 因为是重新整理,那么就从配置开 ...
- XSS防跨站脚本攻击-AntiSamy的基本使用
XSS:跨站脚本攻击(Cross Site Scripting),为不和 CSS混淆,故将跨站脚本攻击缩写为XSS.XSS是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页时,嵌入其 ...
- 重新整理 .net core 实践篇————依赖注入应用[二]
前言 这里介绍一下.net core的依赖注入框架,其中其代码原理在我的另一个整理<<重新整理 1400篇>>中已经写了,故而专门整理应用这一块. 以下只是个人整理,如有问题, ...
随机推荐
- Java //输入两个正整数m和n,求其最大的公约数和最小公倍数//12和20的最大公约数是4,最小公倍数是60
1 //输入两个正整数m和n,求其最大的公约数和最小公倍数 2 //12和20的最大公约数是4,最小公倍数是60 3 4 Scanner scan = new Scanner(System.in); ...
- hadoop集群环境搭建--双NameNode
hadoop配置文件修改 个人配置文件压缩包地址: hadoop配置文件压缩包地址点此下载 tar -zxvf 你的压缩包路径/hadoop.tar.gz -C /usr/hadoop(你的hadoo ...
- redis迁移同步工具-redis-shake
官方文档: https://github.com/alibaba/RedisShake/wiki/快速开始:数据迁移 下载: https://github.com/alibaba/RedisShake ...
- MyBatis的Example类详解
Example类的定义? 第一次幕课网教程看到关于这方面教时,没有懂example起什么用,感觉不用example也可以查询了,后来认真一看才知道这是查询条件生成器 mybatis-generator ...
- 使用pymysql库,将tushare股票信息保存入本地MySQL数据库
使用pymysql库,将tushare股票信息保存入本地MySQL数据库 1.前言 由于tushare存在积分权限限制,高频读取tushare数据容易挤占服务器带宽,因此对于常用的tushare数据, ...
- day01-HTML01
day01-HTML 1.JavaWeb技术体系 2.B/S软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser浏览器,小程序,APP,或者自己写的)和服务端(Server)组成的系统 ...
- 28_FFmpeg音视频解封装格式
目录 一.什么是封装格式 二.使用 FFmpeg 实现解封装 1.创建解封装上下文打开流媒体文件 2.检索流信息 2.1.检索流信息 2.2.导出流信息到控制台 3.初始化音频解码器查找合适的音视流和 ...
- [Leetcode 1981. 最小化目标值与所选元素的差] 记忆化搜索
记忆化搜索 class Solution { int ans = 5001; public int minimizeTheDifference(int[][] mat, int target) { i ...
- JAVA 相关
1. google guava cache 2. presto 3. loadingcache 4. aspect
- 08.Android之View事件问题
目录介绍 8.0.0.1 简述Android的事件分发机制?dispatchTouchEvent方法的作用是什么?说下View和ViewGroup分发事件? 8.0.0.2 onInterceptTo ...