安全小白必须之逻辑类漏洞笔记

admin 2024年7月26日20:58:44评论27 views字数 4844阅读16分8秒阅读模式

安全小白必须之逻辑类漏洞笔记

    整个部分结构大部分基于乌云的几篇密码找回、逻辑漏洞类文章,在其基础上记录和归纳

免责声明

    本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.

01
Reference

    密码找回逻辑漏洞总结

    密码找回功能可能存在的问题

    密码找回功能可能存在的问题(补充)

    业务安全漏洞挖掘归纳总结

    应用程序逻辑错误总结

    在线支付逻辑漏洞总结

    web渗透测试之攻破登录页面

    web逻辑漏洞挖掘快速入门到放弃

    我的越权之道

02
身份认证

    Cookie & Session

    会话固定攻击

    利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人.

    案例:

    新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露

    Cookie仿冒

    修改cookie中的某个参数可以登录其他用户.

    案例:

    益云广告平台任意帐号登录

加密测试

    前端加密,用密文去后台校验

    可以使用 burpsuite 的 payload processing 功能,把字典按照加密方式先加密再发包

    用字典生成工具生成加密好的字典,pydictor 内置 encode 功能可以支持

IP 限制

    如果登录系统设置了 IP 地址白名单,我们可以通过下面的几个 http 头字段伪造 IP 地址,用 burp 抓包后将下面的某个 http 头字段加入数据包发送到服务器

1Client-Ip: 127.0.0.1
2X-Client-IP: 127.0.0.1
3X-Real-IP: 127.0.0.1
4True-Client-IP: 127.0.0.1
5X-Originating-IP: 127.0.0.1
6X-Forwarded-For: 127.0.0.1
7X-Remote-IP: 127.0.0.1
8X-Remote-Addr: 127.0.0.1
9X-Forwarded-Host: 127.0.0.1
03
业务一致性

 手机号篡改

    抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务.

  邮箱和用户名更改

    抓包修改用户或者邮箱参数为其他用户或者邮箱

    案例:

    绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2

订单 ID 更改

    查看自己的订单 id,然后修改 id(加减一)查看是否能查看其它订单信息.

    案例:

    广之旅旅行社任意访问用户订单

商品编号更改

    例如积分兑换处,100 个积分只能换商品编号为 001,1000 个积分只能换商品编号 005,在 100 积分换商品的时候抓包把换商品的编号修改为 005,用低积分换区高积分商品.

    案例:

    联想某积分商城支付漏洞再绕过

用户 ID 篡改

    抓包查看自己的用户 id,然后修改 id(加减 1)查看是否能查看其它用户 id 信息.

    案例:

    拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等)

04
业务数据篡改

金额数据篡改

    抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程.

    案例:

    12308订单支付时的总价未验证漏洞(支付逻辑漏洞)

    UCloud 另一处严重支付逻辑错误 导致可刷余额

    destoon无限制增加帐号资金

    大疆某处支付逻辑漏洞可1元买无人机

商品数量篡改

    抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程.

    案例:

    百脑汇商城支付漏洞

最大数限制突破

    很多商品限制用户购买数量时,服务器仅在页面通过 js 脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程.

本地 js 参数修改

    部分应用程序通过 Javascript 处理用户提交的请求,通过修改 Javascript 脚本,测试修改后的数据是否影响到用户.

05
密码找回漏洞

用户凭证暴力破解

    像是四位或者六位纯数字的验证码,对验证码进行暴破,未作限制的情况下,很快就会得到结果了

    案例:

    当当网任意用户密码修改漏洞

    当当网任意用户密码修改漏洞2

    当当网任意用户密码修改漏洞第三次

    微信任意用户密码修改漏洞分析

返回凭证

    url 返回验证码及 token

    不多说,直接输入验证码即可修改密码

    案例:

    走秀网秀团任意密码修改缺陷

    密码找回凭证

    案例:

    sohu邮箱任意用户密码重置

    返回短信验证码

    案例:

    新浪某站任意用户密码修改(验证码与取回逻辑设计不当)

邮箱弱token

    时间戳的 MD5

    案例:

    奇虎360任意用户密码修改漏洞

    服务器时间

    案例:

    中兴某网站任意用户密码重置漏洞(经典设计缺陷案例)

用户凭证有效性

    邮箱 token

    案例:

    身份通任意密码修改-泄漏大量公民信息

    重置密码 token

    案例:

    魅族的账号系统内存在漏洞可导致任意账户的密码重置

重新绑定

    手机绑定

    案例:

    网易邮箱可直接修改其他用户密码

    邮箱绑定

    案例:

    某彩票设计缺陷可修改任意用户密码

  服务器验证

    最终提交步骤

    案例:

    携程旅行网任意老板密码修改

    服务器验证可控内容

    案例:

    AA拼车网之任意密码找回2

    服务器验证验证逻辑为空

    案例:

    某政企使用邮件系统疑似存在通用设计问题

用户身份验证

    账号与手机号码的绑定

    案例:

    上海电信通行证任意密码重置

    账号与邮箱账号的绑定

    案例:

    和讯网修改任意用户密码漏洞

找回步骤

    跳过验证步骤、找回方式,直接到设置新密码页面

    案例:

    中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷

本地验证

    在本地验证服务器的返回信息,确定是否执行重置密码,但是其返回信息是可控的内容,或者可以得到的内容.

    案例:

    oppo重置任意用户密码漏洞(4)

    发送短信等验证信息的动作在本地进行,可以通过修改返回包进行控制.

    案例:

    OPPO修改任意帐号密码-2

    注入

    在找回密码处存在注入漏洞.

    案例:

    用友人力资源管理软件(e-HR)另一处SQL注入漏洞(通杀所有版本)

    Token生成

    Token 生成可控.

    案例:

    天天网再一次重置任意账号密码(依旧非暴力)

注册覆盖

    注册重复的用户名.

    案例:

    中铁快运奇葩方式重置任意用户密码(admin用户演示)

    Session覆盖

    Session 覆盖

    案例:

    聚美优品任意修改用户密码(非爆破)

06
验证码突破

    验证码暴力破解

    使用 burp 对特定的验证码进行暴力破解

    案例:

    盟友88电商平台任意用户注册与任意用户密码重置漏洞打包

  验证码不刷新

    在一段时间内只要不刷新页面,无论登录失败多少次都不刷新验证码,这个时候就可以使用同一个验证码根据上面的方式进行暴力破解

验证码失效

    不管在验证码表单输入什么样的数据,都会判断通过,但这种情况很少见

验证码绕过测试

    当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过.对于 request 数据: user=admin&pass=1234&vcode=brln,有两种绕过方法:

    一是验证码空值绕过,改成 user=admin&pass=1234&vcode=;

    一是直接删除验证码参数,改成 user=admin&pass=1234.

    案例:

    中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷

验证码 js 绕过

    短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过 js 来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功.

    案例:

    某省公安厅某举报管理系统可JS绕过登陆

万能验证码

    渗透测试的过程中,有时候会出现这种情况,系统存在一个万能验证码,如 0000、9999,只要输入万能验证码,就可以无视验证码进行暴力破解.

07
业务授权安全

未授权访问

    非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息.可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功.

    案例:

    某发电机云控平台未授权访问

越权测试

    越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定.

    垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)

    案例:

    中国电信天翼宽带政企网关A8-B垂直越权,可获取最高权限

    如何在Microsoft Translator中越权删除1.3万个项目

    看我如何通过帮助服务台轻松黑掉数百家公司

    水平越权(水平越权是指相同权限的不同用户可以互相访问)

    案例:

    麦乐购可大批量删除他人购物订单(水平越权一)

08
业务流程乱序

顺序执行缺陷

    部分网站逻辑可能是先 A 过程后 B 过程然后 C 过程最后 D 过程.

    用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问.于是,用户就从 B 直接进入了 D 过程,就绕过了 C.如果 C 是支付过程,那么用户就绕过了支付过程而买到了一件商品.如果C是验证过程,就会绕过验证直接进入网站程序了.

    案例:

    中国教师资格网绕过验证(可遍历全国教师身份信息)

    万达某分站逻辑错误可绕过支付直接获得取票密码

09
业务接口调用

  重放攻击

    在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试.如果业务经过调用(重放)后被多次生成有效的业务或数据结果.

    恶意注册

    目标业务注册流程不规范,使用抓包工具抓包可捕获创建用户的请求包,修改发包可以直接注册用户

    短信炸弹

    在测试的过程中,我们发现众多的金融交易平台仅在前端通过 JS 校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信.

    案例:

    一亩田交易网逻辑漏洞(木桶原理)

    短信轰炸之空格或 n 绕过

内容编辑

    点击"获取短信验证码",并抓取数据包内容,通过分析数据包,可以发现参数的内容有客户端控制,可以修改为攻击者想要发送的内容

10
时效绕过

    大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将 12306 的作为典型,故,单独分类.

时间刷新缺陷

    案例:

    12306自动刷票时间可更改漏洞

时间范围测试

    针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程.例如通过更改查询手机网厅的受理记录的 month 范围,可以突破默认只能查询六个月的记录.

END
安全小白必须之逻辑类漏洞笔记

文:Freed0m

原文链接:https://github.com/xidaner/Freed0m/blob/master/%E7%AC%94%E8%AE%B0/%E5%AE%89%E5%85%A8/Web%E6%B8%97%E9%80%8F/web%E6%9C%8D%E5%8A%A1/%E9%80%BB%E8%BE%91%E6%BC%8F%E6%B4%9E/%E9%80%BB%E8%BE%91%E7%B1%BB%E6%BC%8F%E6%B4%9E%E7%AC%94%E8%AE%B0.md

版权声明:著作权归作者所有。如有侵权请联系删除

原文始发于微信公众号(开源聚合网络空间安全研究院):安全小白必须之逻辑类漏洞笔记

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月26日20:58:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全小白必须之逻辑类漏洞笔记https://cn-sec.com/archives/3001576.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息