zoukankan      html  css  js  c++  java
  • 逻辑漏洞思路整理

    这几天看一些逻辑漏洞的资料,整理了一下关于逻辑漏洞的思路可能不是很全以后慢慢补充。

    与传统漏洞相比,逻辑漏洞具有不易发现、不易防护的特点,不像SQL注入、XSS漏洞可以上WAF等一些防护手段就可以控制;重点应该放在比如:个人信息区域、密码修改区域、密码忘记区域、支付区域、手机号区域等。这几个区域一般都是严重高危漏洞的始发点,任何一个地方出问题,都有可能造成企业、用户损失。而且每个公司的应用系统逻辑也都参差不齐,逻辑漏洞也肯定不尽相同。

    一、越权

    平行越权:权限类型不变,权限ID改变

    垂直越权:权限ID不变,权限类型改变

    预防思路:

    1.cookie中设定多个验证,比如自如APP的cookie中,需要sign和ssid两个参数配对,才能返回数据。

    2.用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。

    3.用户的cookie的生成过程中最好带入用户的密码,一旦密码改变,cookie的值也会改变。

    4.cookie中设定session参数,以防cookie可以长时间生效。

    二:验证码回传

    这个漏洞主要是发生在前端验证处,只要拦截数据包就可以获取敏感信息,并且经常发生的位置在于:账号密码找回、账号注册、支付订单等

    预防思路:

    response数据内不包含验证码,验证方式主要采取后端验证,但是缺点是服务器的运算压力也会随之增加;要进行前端验证的话使用加密进行。

    三.未进行登陆凭证验证

    有些业务的接口,因为缺少了对用户的登陆凭证的效验或者是验证存在缺陷,导致黑客可以未经授权访问这些敏感信息甚至是越权操作。

    预防思路:

    对敏感数据存在的接口和页面做cookie,ssid,token或者其它验证。

    四:订单金额任意修改

    关于支付的逻辑漏洞的一般思路。一种是少充多得,比如充值100元时通过篡改金额改成10元,最终充值完毕后账户变成了100元,而实际付款却只有10元;一种是绕过活动页金额限制,比如很多公司做活动强制用户充值金额不能低于10000,而通过拦截修改金额,可以充值任意金额。

    预防思路:

    增加多重检验,订单较大时增加人工审核。

    五、密码重置

    重置密码对一个系统来说是非常重要的存在,所以存在的问题也是非常致命。用户在重置密码页面,通过修改用户ID对所改用户密码进行重置;对密码重置页面验证码绕过,然后爆破进行等。

    预防思路:

    系统后台在重置密码页面验证是否为本用户等。

  • 相关阅读:
    也用 Log4Net 之将日志记录到数据库的后台实现 (二) jerry
    也用 Log4Net 之将自定义属性记录到文件中 (三) jerry
    Mongodb之(初出茅庐) jerry
    Mongodb之(初识如故) jerry
    Entity Framework 4.1/4.3 之七 (DBContext 之4 数据验证) jerry
    跨服务器导入数据SQL语句 jerry
    EasyUI ComboTree 异步加载 ( .net 版 ) jerry
    Mongodb之(小试牛刀) jerry
    Sql Server 技术细节之(如何修改表的所有者) jerry
    [转]VS2008的DDK环境配置及DDK下载
  • 原文地址:https://www.cnblogs.com/hai-long/p/10889176.html
Copyright © 2011-2022 走看看