Web安全之越权操作:横向越权与纵向越权

参考:http://blog.csdn.net/github_39104978/article/details/78265433

看了上面的文章,对越权操作的概念还是比较模糊,不明确实际场景。

横向越权的情况:

用户登录模块中,假设用户在忘记密码(未登录)时,想要重置密码。假设接口设计为传参只用传用户名和新的密码。

localhost:8080/user/forget_reset_password.do?username=aaa&passwordNew=xxx

用户先通过密码提示问题并回答问题成功后,跳转到重置密码的页面。该页面下攻击者在浏览器中查看到重置密码的接口后,可以输入任意用户名和密码后提交,如果输入的用户名存在的话就会导致别的用户被修改了密码!同样是普通用户的权限,修改了其他普通用户的信息,这种功能情况即是横向越权。

为了避免以上横向越权的行为,常用办法是在用户回答密码提示问题正确后,服务端随机生成一个Token值返回,并给Token设置过期时间(如30分钟),然后重置密码的接口中要求前端传递该Token,即可确保是当前用户修改自己的密码了。

重置密码的接口改为

localhost:8080/user/forget_reset_password.do?username=aaa&passwordNew=xxx&forgetToken=531ef4b4-9663-4e6d-9a20-fb56367446a5

原文地址:https://www.cnblogs.com/guxin/p/8213750.html

时间: 2024-11-29 08:32:11

Web安全之越权操作:横向越权与纵向越权的相关文章

Web标准:七、横向导航菜单

Web标准:七.横向导航菜单 知识点: 1.横向列表菜单 2.用图片美化的横向导航 3.css Sprites 1)横向列表菜单 可以在第四节课的基础上来实现横向导航菜单,只要给li一个float:left;即可. 注意:如果要在一级菜单下增加二级菜单,二级菜单需要加一个float:none;来去掉浮动,否则二级菜单也会浮动到一行上去了. 2)用图片美化的横向导航 给li的链接上加一个a标签,给a标签加上display:block;把它转换成块级元素,然后给a设置背景色或者图片使它更加美观. 这

Web API与文件操作

前段时间,一直有练习ASP.NET MVC与Web API交互,接下来,Insus.NET再做一些相关的练习,Web API与文件操作,如POST文件至Web API,更新或是删除等. 不管怎样,先在数据库创建一张表,用来存储上传的文件.本实例中是把文件存储过数据库的. CREATE TABLE ApiFileDemo ( [Afd_nbr] INT IDENTITY(1,1) PRIMARY KEY NOT NULL, [Picture] [image] NULL, [PictureType]

RDIFramework.NET V3.3 Web框架主界面新增横向菜单功能

功能描述 响应重多客户的要求与心声,RDIFramework.NET框架Web版本主界面新增横向菜单功能.横向菜单更加直观,用户可操作与展示的空间更多,符合实际应用要求. 一.效果展示 最终界面效果: 横向菜单效果图 动画展示效果: 横向菜单动画展示 二.加入方法 1."MenuIndex.cshtml"的文件在项目中的下面位置: 2.修改登录界面代码如下: 登录代码代码修改 3.主界面控制器新增代码如下: 4.修改个性化设置代码,加入横向菜单的设置,如下: 第4步的设置就是在&quo

业务横向拆分和纵向拆分

大规模系统架构的设计一般原则就是尽可能地拆分,以达到更好的独立扩展与伸缩.更灵活的部署.更好的隔离和容错.更好的开发效率.具体的拆分策略大体上可以分为横向拆分和纵向拆分. 总结:纵向拆分主要从业务角度进行,根据业务分割为不同的子系统:而横向拆分侧重于原业务深入拆分,然后服务重组. ps:关于拆分在数据库.技术层面又有不同的定义.

MSSQLServer 纵向表转横向表 横向表转纵向表 行转列 列转行

MSSQLServer 纵向表转横向表  横向表转纵向表 建表语句及插入数据语句: CREATE TABLE Test_y( [Name] [nchar](10) NULL, [Course] [nchar](10) NULL, [Grade] [int] NULL ) insert into Test_y values ('张三','语文',75); insert into Test_y values ('张三','数学',80); insert into Test_y values ('张三

横向集成、纵向贯通 ——地产财务管理新思路

初衷启示 古时有一大户人家, 前有大院,后有花园,主人家姓李,人称李老爷. 李老爷手下有两个掌柜的,张大头和刘墩子.张大头为人精明能干,很有想法:刘墩子憨厚老实,做事认真.李老爷想考察下他们. 一天,李老爷出远门,临走时,分别给了张大头和刘墩子500两银子,让他们看好. 两年后,李老爷回来了.刘墩子给了李老爷擦的锃亮的500两银子:张大头却给了李老爷700两银子.原来,李老爷走后,刘墩子时不时的查看银子的情况,进行清点,把银子擦的锃亮,并妥善保管,不容有半点闪失:张大头则把这些银子拿到自己负责的

ASP.NET Core Web API Cassandra CRUD 操作

在本文中,我们将创建一个简单的 Web API 来实现对一个 “todo” 列表的 CRUD 操作,使用 Apache Cassandra 来存储数据,在这里不会创建 UI ,Web API 的测试将使用 Postman 来完成. ASP.NET Core 是 ASP.NET 的重大的重构,ASP.NET Core 是一个全新的开源和跨平台的框架,用于构建如 Web 应用.物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序. ASP.NET Core 已经内置了用 MVC 架

RESTful Web 服务四种操作POST/DELETE/PUT/GET

目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现.例如,Amazon.com提供接近REST风格的Web服务进行图书查找:雅虎提供的Web服务也是REST风格的. 应该是,做WEB服务,都必须掌握REST!! Rest模式有四种操作: POST /url 创建 DELETE /url/xxx 删除 PUT /url/xxx 更新或创建 GET /url/xxx 查看 GET

Web API 2 的操作结果

这是msdn原文文档!明天用,留存. Web API 控制器操作可以返回以下任何内容: void HttpResponseMessage IHttpActionResult 其他类型 根据返回的这种情况,Web API 将使用不同的机制来创建 HTTP 响应. 返回类型Web API 如何创建响应 void  返回空的204(无内容) HttpResponseMessage 直接转换为 HTTP 响应消息. IHttpActionResult 调用ExecuteAsync创建HttpRespon