某src支付漏洞
漏洞利用简述
创建上传任务(生成关键参数tid)>通过接口参数遍历判断当前任务状态(任务是否存在、是否已经翻译过文档)>修改关键参数水平越权恶意消耗其他用户余额(消费额度20元/页-9k/3w页)>存在翻译文档的可以越权删除,继续调用生成文档消耗账号余额。
漏洞详情
判断账号余额状态
A账号上传一个test.docx文件,试用翻译页码剩余8页。对应的tid为45741866,注意cookie信息。
我们使用B账号发起流程,相关的流量包是两个,如下图两个。第一个流量包放行,不用管,修改第二个流量包的tid参数为A账号的45741866,发起工作流。注意cookie信息为B账号的cookie信息。
与之相关的报文有两个,第一个报文利用,判断账号是否存在余额和是否存在任务。
当存在余额并且存在上传任务时,正常返回。
不存在任务时
遍历关键参数tasks后四位,存在几千个任务记录
遍历关键参数越权消费他人账号余额
通过第一步得到账号余额状态,消耗账号下余额。修改关键参数tids。
如图A账号的剩余额度被使用
越权删除账号已翻译任务
已经翻译之后的任务,不能再次翻译。我们可以通过遍历关键参数越权删除生成的文档,再次执行任务,恶意消费用户余额。
A账号下有一个45741866的翻译记录
使用B账号发起删除动作,拦截,修改tid参数
反馈删除成功
前端确实删除成功。