揭秘,活动漏洞是如何被发现的?

活动漏洞是指由于系统设计或实现上的缺陷,导致活动过程中可能出现的异常情况或安全问题,这些漏洞可能被攻击者利用,造成数据泄露、系统崩溃或其他严重问题,以下是一些常见的活动漏洞及其详细描述:

揭秘,活动漏洞是如何被发现的?插图1

重放攻击

无限获利

1、举例

某地方运营商举办“让红包飞”活动,中奖后可使用活动码兑换奖品。

用户还未兑换前的流量。

输入使用码可兑换50M流量。

可成功兑换流量。

抓取兑换流量的数据包进行重放可无限次兑换流量。

条件竞争

1、举例

某App推出新人领红包活动,新号可以免费领一次红包,使用抓包工具进行抓取领红包的数据包。

然后同时并发多个数据包。

由于没有做好大量并发请求的处理,可同时领到多个红包。

数据篡改

金额篡改

1、举例

某旅游网站的机票购买功能存在任意金额购买漏洞。

搜索国际航班。

选择一班机票进行购买,此时可看见金额至少为1778。

揭秘,活动漏洞是如何被发现的?插图3

提交购买订单。

使用抓包工具进行抓包,可发现数据包中的totalPrice是机票价格。

将机票价格修改为0.01,发现可以用0.01的价格购买任意机票。

数量篡改

1、将数量改大

某APP可进行签到抽奖获得阅币(50阅币相当于1块钱)。

首先得到自己手机签到和抽奖时候的链接,下次可以直接用浏览器访问链接签到、抽奖,抽奖时候的连接类似这样的(XXX是替代字符):http://xxx.xxx/zybook/u/p/user.php?action=qiandao&Act=turn_card&key=2QM&usr=156XXX01&rgt=5&p1=1307271227XXXX74&p2=108。

抽奖过程是由js控制的,结果已经设定好了是6,就是会抽到6个阅币,是由count这个变量定义的,只要用浏览器打开,修改这个变量即可。

这个变量应该是在上一步的时候生成的链接定义的,从链接中的变量传递过来,所以可以直接访问链接:http://xxx.xxxx/zybook/u/p/user.php?price=5100&key=2QM&action=qiandao&Act=registration&usr=156XXX01&rgt=5&p1=1307271227。

注意,里面的price=5100表示这一次将抽到5100阅币,设置多少得多少,目前测试7位数可行。

2、将数量改为负数

使用某购物网站进行购物,选取商品后进行抓包。

修改数量为-1。

网站里出现未支付订单,发现金额显示-299。

直接点击付款,发现可以付款成功。

可发现余额增多。

流程绕过

次数限制绕过

揭秘,活动漏洞是如何被发现的?插图5

1、举例

登入活动页面输入兑换码就可以兑换省内100M流量,当第二次输入同一个兑换码的时候会显示已兑换。

查看历史找到了兑换的网页可以跳过限制直接再次兑换。

地址:http://xxx.xxx/xxxx/web/info2.jsp?coupon=2&PrizeID=兑换码。

又发现兑换码只是个摆设,可以直接输入利用上面地址,输入11位数或英文大写字母就又可以兑换。

后来继续查看那个地址发现info2.jsp是二等奖的页面,改成info1.jsp,就是一等奖的领奖页面。

时间限制绕过

1、举例

某站举办活动,有个摇奖机,摇一次之后需要在下一个小时才能摇奖。

发现抽奖的验证放在前端,只是通过禁用抽奖按钮控制抽奖,将抽奖的方法搬到“查看中奖名单”的onclick下,每次点击“查看中奖名单”就可以触发摇奖机摇奖。

修复建议

1、交易类业务应充分考虑业务风险:应充分考虑流程和数据的防泄密、防篡改、防重放等安全问题。

2、关键参数必须在服务端生成或进行二次校验:如单价、金额等关键参数必须在服务端生成或进行二次校验,不得直接使用用户可控数据。

3、所有验证及限制都应在服务端:活动类功能所有验证及限制都应在服务端,不应相信客户端提交的信息。

活动漏洞多种多样,需要开发人员和安全人员共同努力,通过严格的测试和审查来预防和修复这些漏洞,以确保系统的安全性和稳定性。

到此,以上就是小编对于活动漏洞的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/85221.html

小末小末
上一篇 2024年10月26日 18:18
下一篇 2024年10月26日 18:51

相关推荐