Web安全之权限攻击
来源:互联网 发布:lol游戏数据分析师 编辑:程序博客网 时间:2024/05/28 09:33
权限攻击可以分为水平权限攻击和垂直权限攻击。
水平权限攻击
水平权限攻击,也叫作访问控制攻击。Web应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或者在判断数据所属人时从用户提交的表单参数中获取了userid。导致攻击者可以自行修改userid修改不属于自己的数据。所有的更新语句操作,都可能产生这个漏洞。
攻击
我们来看看攻击案例,Web应用在修改用户个人信息时,从用户提交的表单中获取userid,执行修改操作:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
表单中,将用户的userid作为隐藏字段,提交给处理修改个人信息的应用。
下面是修改个人信息的后台代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
这段代码从表单参数列表中获取userid,修改userid对应的用户数据。
攻击者可以随意修改表单的userid:
修改userid后,提交表单,就可能修改了其他用户的数据。
防御
这种情况似乎很容易被忽略,包括我现在着手的一个项目也是才发现这样的一个问题。那么应该如何解决呢?其实也很容易。就是从用户的加密认证cookie中获取当前用户id,并且在执行的sql语句中加入当前用户id作为条件语句。由于cookie是加密的,所以攻击者无法修改加密信息。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
代码中通过GetUseridFromCookie方法,从加密的cookie中获取当前用户的id,并加入判断。
垂直权限攻击
垂直权限攻击又叫做权限提升攻击。其原理是由于Web应用没有做权限控制,或仅仅在菜单上做了权限控制,导致恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。
攻击
我们来看看攻击案例,下面是一个仅仅做了菜单控制的代码:
- 1
- 2
- 3
- 4
- 5
攻击者只需要猜中管理所有用户的页面url就可以越权操作了。
防御
这种攻击很容易防御,只需要在每个页面的加载之前进行权限验证即可。一个普通的权限系统,菜单是通过数据库中对应权限和角色来进行字符串拼接形成的,而不是静态的通过在页面上进行权限判断决定的。
文章转载自http://blog.csdn.net/mevicky/article/details/48287099
- Web安全之权限攻击
- Web安全之权限攻击
- web安全之xss 攻击
- web安全 之 xss攻击
- PHP安全之Web攻击
- Web安全之CSRF攻击
- WEB安全之解决CC攻击
- 关于web安全之sql注入攻击
- Web安全之SQL注入攻击
- web安全学习笔记之-注入攻击
- WEB安全之CSRF攻击原理
- web安全防范之XSS漏洞攻击
- Web安全之SQL注入攻击
- web安全之token和CSRF攻击
- Web前端安全之XSS攻击
- web前端安全之XSS攻击
- 浅谈WEB安全之DDoS攻击
- web安全之token和CSRF攻击
- Python3 压缩与解压缩(zlib / gzip / bz2 / lzma / zipfile / tarfile)
- 网络间进程的通信--socket
- ZooKeeper的简单操作
- GKRidgedNoiseSource
- 周志华《机器学习》学习笔记2--模型评估与选择
- Web安全之权限攻击
- qt中的常见错误
- jquery 关于after()函数不得不吐槽的地方
- CentOS 下vsftp 配置及遇到的坑
- RecyclerView联动
- 分布式作业几个疑点的理解
- swift3 AF网络post和get请求
- 移动端获取元素方法和基本事件
- Hibernate的get和load方法学习