大佬教程收集整理的这篇文章主要介绍了重新整理 .net core 实践篇————防跨站脚本攻击[四十],大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
简单整理一下跨站脚本攻击。
攻击原理是这样子的:
这种攻击被攻击的面挺多的,比如说只要有一个可以让用户输入的注入脚本就都是一个问题。
给网站注入脚本
然后用户访问给网站注入的脚本
脚本里面的请求都是对攻击者站点的的请求
用户信息就被拿走了
上面这样将可能有点蒙,举一个以前的例子哈。
有一个站点,有一个上传功能,但是上传功能没有限制,被别人注入一个一个index.html页面,里面是登录注册。
然后用户通过某些链接访问了这个index.html,后面的请求都是访问攻击者的站点的请求,然后就被攻击了。
如果这个index.html是一个充值或者登录,那么还是非常危险的,那么如何来做点防护措施呢?
对用户的提交内容进行验证,拒绝恶意脚本
对用户的提交内容进行编码,urlEncoder、javascriptEncoder
少用HtmlString 和 HtmlHepler.Raw
身份信息cookie 设置为httponly.
避免使用path 传递带有不受信的字符,使用query 进行传递
前面两个都是防范的,第三个基本前后端分离也没啥人用,第四个是这样子的,前文提及到的cookie安全问题,因为如果是在同域名的情况下,注入的脚本是可以读取到cookie信息的,那么就被攻击到,故而设置httponly,处于js不可读状态。
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationscheR_793_11845@E)
.AddCookie(CookieAuthenticationDefaults.AuthenticationscheR_793_11845@e, options =>
{
options.Cookie.httpOnly = true;
})
设置httpOnly如上。
如果要从根源上解决,就要避免被注入脚本,这个可以使用一些框架,或者和安全公司合作。
下一节跨域请求的攻击问题。
以上是大佬教程为你收集整理的重新整理 .net core 实践篇————防跨站脚本攻击[四十]全部内容,希望文章能够帮你解决重新整理 .net core 实践篇————防跨站脚本攻击[四十]所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。