推广 热搜:   公司  企业  中国  快速    行业  上海  未来  设备 

生命在于学习——业务逻辑漏洞

   日期:2024-12-19     移动:http://fabua.ksxb.net/mobile/quote/4104.html

声明:只是用于学习交流,笔记记录,不可用作违规用途。

简单理解:就是编程人员的思维逻辑不够严谨导致攻击者有机可乘的漏洞。
逻辑漏洞还是一种虽然没有在owasp top10中提及到,但是往往会存在的漏洞,并且在hvv,渗透测试中广泛存在,造成的破坏可能一点不比sql注入,xss等漏洞小,如下是逻辑漏洞的top10挖掘方向。

  1. 替换订单ID,创建订单时在支付界面,在此创建订单替换订单ID(高价替换低价
  2. 无限新用户优惠订单,重复创建优惠订单
  3. 替换优惠券ID(未达到条件使用
  4. 个别情况订单数量为1.99时,客户端只支付1元,实际上服务器认为支付了2元。
  5. 取货时并发
  1. 快速进出房间炸房
  2. 无限发送点赞协议
  3. 修改礼物数量,0,小数,负数,特定值(一般情况下为1073741824
  4. 修改礼物ID,遍历尝试是否有隐藏ID。
  5. 并发送礼物,抽奖
  6. 无限创建首次优惠订单,有些首次优惠订单是一个特殊的pid,这种直接替换pid进行支付,有些是相同的ID,这种的提前创建订单,记录多个订单号在依次修改订单支付。
  7. 刷屏:发言刷屏,分享,点赞等有提示的地方刷屏。
  8. 房间内可以申请的地方进行申请取消操作,看看是否能炸房。
  9. 越权踢人,增加管理员,关闭房间等操作。
  10. 发送的表情是否可以修改长宽
  1. 购买数量:为0,小数,负数,正负值
  2. 代金券:并发领取,遍历领取,同一个代金券重复使用,未满足条件使用代金券
  3. 越权:登录,操作别人订单,修改资料
  1. 商品数量,0,负数,小数,特定值,正负数
  2. 送餐员评价修改,星级,打赏金额
  3. 订单超出送餐地址
  4. 强行货到付款,取消订单,退款
  5. 越权操作别人订单,登录
  6. 优惠购买会员(重复使用优惠购买
  1. 钱包并发提现,负数提现
  2. 使用钱包支付时多个订单并发支付(是否支付金额能大于余额
  3. 转账负数,并发转账
  4. 上架商品突破限制,例如数量,字数
  5. 替换订单,创建订单号如果订单状态可修改,先进到支付界面,然后将订单修改成更大的金额,然后支付提前进入的支付界面。
  6. 数量修改
  1. 强行举报(读取本地消息上传那种
  2. 强行加好友(一般尝试重发通过好友这条协议
  3. 自由修改号码(靓号类
  4. 群管理无限禁言
  5. 越权禁言,踢人,拉黑
  6. 会员修改金额,数量。无限优惠购买。
  7. 非会员使用会员功能。
  1. 打赏金额为负数,小数,特定值(溢出
  2. 越权删除评论,登陆
  3. 修改充值金额
  4. 付费漫画免费看
  5. 评论图片数量过多会导致客户端加载卡死
  1. 唱歌类软件修改上传分数等参数
  2. 付费下载尝试替换下载ID
  3. 修改付费下载金额
  4. F12查看下是否有歌曲地址
  1. 无限叫车,重复发送协议造成市场混乱
  2. 修改评价分数
  3. 修改现实优惠叫车关键参数
  4. 替换优惠券
  5. 越权操作其他订单
  1. 确定业务流程
  2. 寻找流程中可以被操控的环节
  3. 分析可被操控环节中可能产生的逻辑问题
  4. 尝试修改参数触发逻辑问题

同样是注册功能,在输⼊⽤户名时,发现会提示⽤户名是否存在,猜测该位置可以猜测哪些⽤户注册过该⽹站

暴力破解用户名密码的情况,一般出现在登录部分没有验证码机制,没有根据用户名限制失败次数,没有根据IP限制失败次数等情况下。
一般来说

  1. 直接拿密码字典爆破某一个用户名
  2. 拿固定的弱口令密码,去跑用户名
  3. 如果只是用户名限制失败次数,可以使用思路2的方法
  4. 在存在返回提示用户名错误或者密码错误的情况下,可以分别爆用户名和密码
    常见限制:有时候会发现用户名或者密码是密文加密,这是可能通过前端或者其他方式加密,对于简单的来说base64编码和md5签名是很好识破的,在爆破的时候可以选择encode和hash。

(1)cookie的作用和介绍

1、可以在客户端上保存用户数据,起到简单的缓存和用户身份识别等作用
2、保存用户的登录状态,用户进行登录,成功登录后,服务器生成特定的cookie返回给客户端,客户端下次访问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登录。
3、记录用户的行为

(2)cookie分类

cookie分为会话cookie和持久cookie。
会话cookie是指在不设定它的生命周期,浏览器的开启到关闭就是一次会话,当关闭浏览器时,会话cookie就会跟随浏览器而销毁。
持久cookie则是设定了它的生命周期,此时,cookie像商品一样,有个保质期,关闭浏览器后,它不会销毁,知到设定的过期时间。

(3)cookie伪造

cookie伪造:通过修改cookie中的某个参数来实现登录其他用户。
测试方法

  1. 使用一个账号登录,找一个可以证明身份的页面,例如首页的欢迎XX或者是个人中心显示昵称的地方。
  2. 刷新该页面拦截请求,观察cookie中的字段和值,例如 userid=xxx,修改cookie中的值,把xxx改成admin。
  3. forword放行,页面显示admin信息,则存在此问题。
    修复方法:对于客户端标识的用户信息,使用session会话认证方式,避免通过cookie去仿冒其他人的身份。

(4)cookie登录绕过漏洞

(5)cookie和session的区别

cookie实际上是一小段文本信息,客户端请求服务器,绕过服务器需要记录该用户的状态,就使用response向客户端浏览器颁发一个cookie,客户端浏览器会把cookie保存起来,当浏览器再次请求该网站时,浏览器就会把请求地址和cookie一同给服务器,服务器检查该cookie,从而判断用户的状态,服务器还可以根据需要修改cookie的内容。
session是另一种记录客户状态的机制,不同的是cookie保存在客户端浏览器中,而session保存在服务器上,客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session,客户端浏览器再次访问时只需要从该session中查找该客户的状态就可以了。

(6)session会话固定攻击

  • Session会话注销测试
    用户注销或者退出应用时,利用登录时的Session是否能再次利用登录。
  • Session会话超时时间测试
    用户登录系统后,在固定时间没有与服务器任何交互操作,刷新页面,看是否需要重新登录账户。
    攻击者重置Session id的方法:通过xss,嗅探等方法取得用户的session,修改数据包。
    修复方法
    每次登录成功之后重新生成session,session id闲置过久时,进行重置session id。

(7)Session身份绕过漏洞

修复方法:不要把session放置网站目录,绕过需要就设置权限访问,除了本地其他用户禁止访问。

(1)授权与验证

了解越权访问的概念,首先要了解授权和验证的概念,授权是指网站赋予特定人对网站特定资源的读写权限,而验证是网站用于检查操作者是否真的可以对特定资源进行读写。

(2)未授权访问

未授权访问是指用户在梦游通过认证授权的情况下,能够直接访问需要通过认证才能访问到的页面或文本信息。

由于梦游对用户权限进行严格的判断,导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超管)范围内的操作,如果能够成功操作,则称之为越权操作,越权漏洞形成的原因是后台使用了不合理的泉休闲校验规则导致的。

开发人员在对数据进行操作时对客户端请求的数据过分相信,遗漏了对于客户端权限的仔细判定。

1、修改、重置、找回其他账户密码
2、查看、修改其他账户未公开的信息,例如个人资料、文件、数据、程序等
3、与账户关联的权限操作

越权漏洞主要分为水平越权和垂直越权两大类。

(1)水平越权

同级别(权限)的用户或者同一个角色的不同用户之间,可以越权访问,修改或者删除的非法操作,如果出现此漏洞,你们将可能会造成大批量数据泄露,严重的甚至会造成用户信息被恶意篡改。

(2)垂直越权

指使用权限低的用户可以访问权限较高的用户。
危害
向上越权:普通用户可以执行管理员权限, 比如发布文章,删除文章等。
向下越权:一个高级用户可以访问低级用户信息(暴露用户隐私)。

(1)漏洞描述

(2)后记

越权漏洞的产生归根究底,还是由于网站开发者和管理者授权意识的淡薄,授权的滥用,因此,授权应当遵守如下几条原则

  1. 使用最小权限原则对用户进行赋权,对待权限做一只铁公鸡。
  2. 使用合理(严格)的权限校验规则。
  3. 使用后台登录状态作为条件进行权限判断。

(1)Unix时间戳+md5

通过邮箱找回密码,正常流程去邮箱查看重置密码链接,发现链接处有一串md5加密字符串。
重置他人密码只需力量用他人邮箱发送重置密码右键,在短时间内对Unix时间戳进行暴力破解,即可获得重置密码的链接。

(2)用户名

重置密码链接直接使用用户名进行区别,改变用户名即可更改他人密码。

(3)服务器时间

利用两个账号同时点击找回密码,去邮箱查看找回密码的链接,发现两者随机token只差1-2,而且可以猜测出为服务器时间,所以可以用一个未知账号和一个已知账号同时点击找回密码,稍微遍历随机token,就可以构造出未知账号的没密码找回链接。

例如当我们通过邮箱找回密码,正常流程下抓包查看提交验证码后返回的数据,有加密字符串,这个加密字符串和后面重新设置新密码URL链接中的加密字符串一样。
所以可以利用这个加密字符串实现新密码rul中的加密字符串可控。
根据上面提交验证码的抓包,修改user为其他用户,发送就可以返回其他用户的加密字符串。
接着重新返回到找回密码首页,利用其他用户找回,点下一步,到输入验证码处,直接修改URL链接,加入加密字符串,可以直接绕过验证码,重置密码。

1、进入某网站,找到找回密码或密码重置的功能点,首先填写自己的手机号码进行密码找回。
2、收到验证码后填入验证码和新密码提交,这时候使用数据抓包工具进行抓包,将数据包中的账户属性修改为其他账号,然后就可以使用自己设置的密码登录其他账户。

  1. 首先注册一个某邮箱的测试账号,然后会跳转到一个手机绑定页面上。
  2. 注意此链接中有个参数为UID,将UID修改为其他人的邮箱账号,填入一个可控的手机号码,获取验证码,确定后这个目标有限已经被越权绑定了密保手机。
  3. 走正常的密码取回流程,发现这个邮箱多了一个通过手机找回密码的方式,这个手机号就是刚绑定的手机号码。
  4. 获取验证码并填入新密码,最终重置目标账户的密码。
  1. 首先注册一个某网站的测试账号
  2. 连接尾部的一串数字时用户的ID,通过修改ID可以进入其他用户的页面,该页面提供了更改邮箱的功能,可以在此处将邮箱地址修改为自己测试的邮箱。
  3. 然后使用改邮箱进行密码找回。

(1)模拟环境

(2)时间戳转换

(3)md5(当前时间戳+用户名)生成token原理

当前面条件都通过后就可以生成token,我们可以在提交key之前生成一分钟或者一个小时内的token值,用脚本去访问每一个链接。

(4)使用代码生成一个小时的token

 

(5)运行脚本,同时网页也提交我们的信息,让数据库更新token值

(6)token.php(上面代码)运行会在当前目录创建一个time.txt文件保存预测的token值

(7)此时我们可以根据预测的token值,在网页进行提交测试,如果token值多,可以使用burp枚举

(8)修改成功

(9)修复方法

  1. 修改加密算法和加密内容,一定要是强加密,也要做到增加猜解难度或密文不可猜解。
  2. 用户身份验证一定要在后端实现
  3. 在最后一步修改密码的动作时,一定要校验账号是否通过了验证、短信与手机号是否对应、发送短信与已校验账号不要使用同一个session名称。

要了解常见验证码机制

  1. 有的验证码输入正确一次,在一定时间内不用再输入。
  2. 有的验证码输入正确一次,会在你session中设定一个值,告诉服务器你已经通过验证码验证了。
  3. 有的验证码因为逻辑问题只是一个摆设,正常的逻辑为先对比验证码是否正确,再检测账号密码是否有正确,反过来就成了摆设。

概念:重复提交携带验证码的数据包,查看返回包,判断次数。
测试方法
填写正确登录信息和验证码→抓取提交数据包→重复提交该数据包→查看是否登录成功→登录成功则存在验证码重复使用问题。

概念:验证码直接由客户端生成,在回显中显示,可以通过浏览器工具直接查看。
测试方法
1、在源码中显示,源代码审计,搜索源码中有无验证码。
2、在cookie中显示,抓包时分析cookie中是否含有验证码。

漏洞成因
由于逻辑设计缺陷,可以绕过验证,比如直接删除cookie或验证码参数可绕过,当验证不通过清空session时,验证码参数值为空时绕过等。
测试方法

  1. 输入正确账户信息和错误验证码,登录时抓包
  2. 删除cookie
  3. 客户端登录成功

在需要手机号的短信验证处,抓包修改手机号,可能做到非本账号手机号获取能够编辑本账号的验证码。

zzcms8.1任意密码重置

随着网络的不断发展,一些网站为了实现某些功能,需要去调用一些第三方接口,比如三大运营商的短信业务接口、支付宝、微信等第三方支付接口,那么在调用过程中,如果未能做一些安全处理,你们就会容易发生一些业务接口调用上的安全漏洞,常见的业务接口调用漏洞如下

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

  • 短信轰炸
  • 电话轰炸
  • 邮箱轰炸
  • 恶意用户注册
  • 恶意上传
  • 恶意评论
本文地址:http://fabua.ksxb.net/quote/4104.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号