web漏洞--控制访问漏洞

目录

1.横向越权

2.纵向提权


1.横向越权

1.概念

1.越权漏洞属于逻辑漏洞。利用业务逻辑在程序中体现时,仅仅限制于用户点击。

2.Web应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或者在判断数据所属人时从用户提交的表单参数中获取了用户信息,导致攻击者可以自行设置用户,修改不属于自己的数据

3.只要是权限验证不是使用cookie来验证,都有可能发生横向权限漏洞

4.Web应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或者在判断数据所属人时从用户提交的表单参数中获取了userid。导致攻击者可以自行修改userid修改不属于自己的数据。所有的更新语句操作,都可能产生这个漏洞。

2.对网站安全的影响

1.以其它用户的身份进行操作

2.查看/遍历内容

3.更改信息

  邮箱

  手机号

4.发表文章

5.所带来的影响

6.更改确认邮箱/手机号,可以进行支付操作

7.查看其它用户信息,收集隐私信息

  姓名、身份证号、邮箱、电话

8.发表敏感文章

  使用公众号发表带有敏感信息的文章

3.排查漏洞方法

1.查看任何传递用户信息的参数

  只要是用户id,用户名等是以参数方式传递,就有可能有风险

2.查看特权内容,是否进行了权限管理

  每个人博客等,即使是私有的:

    显示我可看列表进行了权限设置

    查看详情时,根据内容ID来进行判断

4.修复方法

此类漏洞,很多时候是业务分析到程序设计时产生的。因此很多时候需要更改程序逻辑。

  用户id,用户名等禁止通过参数来传递,直接取Cookie里的值

  私有信息访问时需要验证用户身份

    隐藏的博客等,需要验证用户身份,而不只是通过内容ID来取信息

    在数据库取数据时,需要验证

      原来语句:select * from blogs where blog_id = xx;

      休整后:select * from blogs where blog_id = xx and owner = yy;

要是短时间很难更改整体逻辑,可以通过混淆参数方法来进行防御

  用户ID等使用MD5码等,很难进行遍历

2.纵向提权

1.概念

垂直权限攻击又叫做权限提升攻击。其原理是由于Web应用没有做权限控制,或仅仅在菜单上做了权限控制,导致恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

后台管理页面一般只允许管理员访问,如果普通用户可以访问,就存在向上越权漏洞。

解决向上越权是比较容易处理的事情,如果管理员表与普通用户表是同一张数据库表,就必须要存在权限验证字段,权限验证字段用来区分是否为管理员。

2.对网站的影响

1.垂直权限漏洞,一般是直接访问业务管理员权限

可能会看到全部用户信息

可能更改全部通告信息(注入广告信息)

可能更改商品价格

可能更改订单信息

2.只要是能拿到业务管理员权限,可能会对业务造成很大影响

价格改动引起的低价卖商品而赔钱 – 金钱影响

虚假通知引起的多人被骗 – 信誉影响

更改订单引起的订单丢失 - 信誉/金钱双重影响

用户信息泄漏 – 隐私泄露/影响信誉

3.修复方法

在每个页面的加载之前进行权限验证

  进行服务器验证 – 不能在前台验证

  验证时,从session获取对应的用户信息

  session中用户信息存放在服务端,用户不能修改

  对每个敏感页面(管理员页面)都进行验证

你可能感兴趣的:(漏洞,安全漏洞)