我是靠谱客的博主 外向蜗牛,最近开发中收集的这篇文章主要介绍常见逻辑漏洞详记0x00 前言0x01 越权0x02 任意注册0x02 密码重置0x03 支付漏洞0x04 信息轰炸0x 后记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

0x00 前言

0x01 越权

1.越权概念

2.越权分类

3.越权使用

4.越权查找

5.越权防护

0x02 任意注册

0x02 密码重置

0x03 支付漏洞

0x04 信息轰炸

0x 后记


0x00 前言

        不安全的对象引用,以及功能级访问控制缺失。--逻辑漏洞

0x01 越权

1.越权概念

        存在一个用户A,能够对自己的信息进行增删改查。但在开发人员的疏忽下,对数据增删改查时没有对其所有者进行判断,导致用户A可以篡改其他用户数据。

2.越权分类

        水平越权:权限类型不变,权限id改变,导致同级间越权访问。

        垂直越权:权限id不变,权限类型改变,常为权限上升。

        交叉越权:顾名思义,水平越权和垂直越权同时存在一个漏洞点中。

3.越权使用

        在越权漏洞中,水平越权最为常见,因此笔者以水平越权举例。

        通常情况下,一个应用程序的功能流程都会存在登录 - 提交请求 - 验证权限 - 数据库查询 - 结果返回,渗透测试人员可以在这些过程中进行越权尝试。

        ①猜想隐藏URL,如登录后的URL存在 /user.php,修改为扫描不到的管理员管理页面 manage.php,当后台配置有缺失时就会出现越权访问。

        ②直接修改参数,如修改URL中的id值越权访问;修改file=admin.pdf越权下载文件;修改U密码重置界面中的URL参数(/tips=2),短信验证步骤直接跳转新密码界面(/tips=3)。

4.越权查找

        服务器与客户端交互时,客户端的cookie与服务端的session进行身份匹配,成功后进行其他操作。如客户端请求时携带其他参数(注意URL)用以辨识信息的唯一性,则可以进行修改尝试越权。拦截请求包后分析:

        ①请求中仅用cookie验证,则无法水平越权,但可能存在谁知越权。

        ②请求中含有cookie和A参数(如employeeId、departmentId,id等)代表唯一用户,但机制中没有对A参数判定是否与cookie相匹配,则存在水平越权和垂直越权都有可能。

        ③测试时,我们通常使用两个小号辅助判断,一个进行越权修改,一个用来验证越权的成功性。而越权的高发功能点有,订单查询、查看用户信息、收货地址增删改查、密码修改与找回等。

5.越权防护

        ①cookie与参数唯一绑定,通过校对判定是否返回数据。

        ②优化cookie的加密算法,注意密钥管理。

        ③用户密码作为参数写入cookie中,保证账户密码与cookie相匹配。

        ④敏感操作时,再次验证是否属于当前用户。

0x02 任意注册

1、概念:注册模块中参数校验不严格而导致的漏洞。

2、常见位置:注册口。

3、食用方法

        ①验证码回传。

        ②验证码(4位)爆破。

        ③修改请求回显绕过。

        ④仅改变手机号,重放数据包,获取相同验证码。

        ⑤注册步骤未校验,修改url可绕过验证。。

4、防护

        ①6位验证码。

        ②验证码限时。

        ③验证码限次数。

        ④验证码多次错误,加图片校验。

        ⑤验证码与手机号绑定,即用即销毁。

        ⑥后端校验注册信息。

0x02 密码重置

1、概念:无

2、常见位置:忘记密码口,登陆后重置密码口。

3、食用方法

        ①验证码回传/明文验证码。

        ②验证码爆破。

        ③手机号与验证码二者未绑定,改成他人手机号以重置。

        ④账户、手机号、验证码三者未绑定,改成他人手机号/账户以重置。

        ⑤重置步骤未校验,修改url可绕过验证。

        ⑥前端验证,修改请求回显绕过。

        ⑦登陆后修改密码仅需新密码,直接越权。

        ⑧唯一cookie校验,直接替换cookie绕过。

        ⑨MVC数据对象自动绑定漏洞,即没有身份标识时,可增加参数窃取校验信息。

4、防护

        ①6位验证码。

        ②验证码限时。

        ③验证码限次数。

        ④验证码多次错误,加图片校验。

        ⑤验证码与手机号绑定,使用即销毁。

        ⑥响应包中去掉短信验证码

        ⑦修改信息时校验旧密码,需提供手机验证码。

        ⑧服务端二次校验。

        ⑨验证信息加密。

        ⑩使用token验证。

0x03 支付漏洞

1、概念:无

2、常见位置:购买、充值界面。

3、食用方法

        ①修改支付价格,在订购、订单、付款三步中尝试修改金额。

        ②修改支付状态,替换为已支付单号,实现已支付效果。

        ③修改订单数量,计算方式未校验,导致可以输入负数等。

        ④修改附属值(优惠卷),修改优惠金额/商品价格/优惠折扣来造成低额购买。

        ⑤越权支付,一次性支付时,若未校验用户信息,可利用他人账户支付。

        ⑥无限制试用,调用试用接口参数,使待支付产品错判为试用产品。

        ⑦修改支付接口,支付接口不存在时,处理不妥导致支付成功。

        ⑧多重替换,在两个订单中,以低价订单参数替换高价,造成低额支付。

        ⑨重复支付,试用令牌试用商品,若试用完/取消试用时令牌回到账户,可尝试用一个令牌多次提交订单。

4、防护

        ①后端校验各个参数,确保订单参数与产品参数一致。

        ②修改相应函数,杜绝输入负数,设定商城产品最低金额等。

        ③与第三方支付平台合作,校验订单金额与与实际支付金额。

        ④支付参数进行算法加密。减少数据篡改的可能。

        ⑤支付流程中校验各个环节,防止跳过某环节。

        ⑥金额超过阈值,需要人工审核订单。

0x04 信息轰炸

1、分类:①单id多次轰炸。②多id单次轰炸。

2、常见位置:发送信息验证处,如注册口、登录口、等

3、食用方法

        ①验证码不刷新,重放数据包不断获取短信。

        ②删除cookie。

        ③修改cookie等参数,当其唯一且固定时,修改以伪造新请求。

        ④手机号分割,如加点/加号/减号/分号/逗号/86/%00等。

        ⑤无效验证,如任意输入图片码可绕过。

4、防护

        ①获取短信请求与图片验证唯一绑定,即用即失效。

        ②设置获取频控,拒绝持续请求验证码。

        ③限制ip单位时间请求次数。

        ④限制手机验证码单日请求次数。

        ⑤后端二重验证,确保请求唯一。

        ⑥减少返回包中数据,以减少可控点。

        ⑦验证模块确保与业务功能关联,杜绝无效验证的产生。

0x 后记

再回头,你依旧在;再看着你,又有新的认识。--涂寐

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46318141/article/details/121000924

最后

以上就是外向蜗牛为你收集整理的常见逻辑漏洞详记0x00 前言0x01 越权0x02 任意注册0x02 密码重置0x03 支付漏洞0x04 信息轰炸0x 后记的全部内容,希望文章能够帮你解决常见逻辑漏洞详记0x00 前言0x01 越权0x02 任意注册0x02 密码重置0x03 支付漏洞0x04 信息轰炸0x 后记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部