分享 | .NET代码审计之MVC权限绕过漏洞
2022-9-22 09:2:37 Author: dotNet安全矩阵(查看原文) 阅读量:68 收藏

AuthorizeAttribute是asp.net MVC的几大过滤器之一,俗称认证和授权过滤器,也就是判断登录与否,授权与否。当为某一个Controller或Action附加该特性时,没有登录或授权的账户是不能访问这些Controller或Action的,笔者在 Controller上添加了自定义的[MyAuthorize()]特性,如下图
控制器下方没有注明[AllowAnonymous]特性的Action均无法直接访问,必须要登录,例如访问/Home/About页面跳转至登录口需要核实身份信息

AllowAnonymous

MVC提供了AllowAnonymousAttribute表示在授权期间跳过AuthorizeAttribute的控制器和操作,具体审计时关注Controller或者Action上方是否有[AllowAnonymous],有的话表示当前控制器或方法可以被匿名用户访问,也就是我们常见的未授权访问漏洞,如下代码

[AllowAnonymous]public ActionResult FindData(int id) {   return Content("this id eq " + id);}

URL访问FindData方法可直接通过URL请求到内容,所以在代码审计时要格外注意[AllowAnonymous]这个特性

为了更好地应对基于.NET技术栈的风险识别和未知威胁,dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防星球社区,得到了许多师傅们的支持和信任,通过星球深度连接入圈的师傅们,一起推动.NET安全高质量的向前发展星球提供50元代金劵,师傅们先到先得噢!扫描星球亮点里的二维码即可加入我们。

星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等,后续还会倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

dotNet安全矩阵知识星球 — 聚焦于微软.NET安全技术,关注基于.NET衍生出的各种红蓝攻防对抗技术、分享内容不限于 .NET代码审计、 最新的.NET漏洞分析、反序列化漏洞研究、有趣的.NET安全Trick、.NET开源软件分享、. NET生态等热点话题、还可以获得阿里、蚂蚁、字节等大厂内推的机会.


文章来源: http://mp.weixin.qq.com/s?__biz=MzUyOTc3NTQ5MA==&mid=2247486410&idx=1&sn=332b861542fa41c4d26224ee5030bd25&chksm=fa5aa527cd2d2c3194570c64a3d5bc91ede26e49d822e46a1ea1d47bb7000ca0c5e0c105a6e3#rd
如有侵权请联系:admin#unsafe.sh