购买漏洞是指通过利用系统或应用中的安全缺陷,以较低成本获取高价值商品或服务的行为,以下是关于购买漏洞的相关信息:
一、购买漏洞
购买漏洞属于逻辑漏洞的一种,通常涉及篡改价格、数量、状态、接口、用户名等传参,从而造成小钱够买大物甚至0元购买商品的情况,这种漏洞常见于涉及购买和资金处理的功能处。
二、支付漏洞原理
商户网站接入支付结果时,主要有两种通知方式:
1、浏览器跳转通知:基于用户访问的浏览器进行通知,但这种方式容易被篡改,降低安全性。
2、服务器端异步通知:支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST或GET方式,商户网站需对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理。
三、常见的支付漏洞类型
1、修改订单金额:在订购、订单、付款三个步骤中,如果前面两步有验证机制,攻击者会在最后一步付款时尝试修改金额,如果未做好检验,则可能导致金额被篡改。
2、修改商品数量:没有对购买的数量参数进行限制,导致可随意修改,最常见的修改方式是改成负数或小数。
3、越权支付:通过修改特殊传参(如id,username,openid)来达到用他人的资金购买自己的商品的目的。
4、无限制试用:通过修改特殊传参(如id,pay,test)来达到无限制试用的目的。
5、重放交易:购买成功后重放其中的请求,可以多次购买商品。
6、修改优惠卷:重复领取或使用优惠卷,或者通过篡改优惠卷编号实现重复使用。
7、修改订单信息:通过篡改数据包中的信息,用一个商品的价格购买另一个商品。
8、修改支付状态:点击支付时抓包修改决定支付或未支付的参数为支付模板的值,从而达到支付成功的目的。
9、提前购买:攻击者发现预售商品后,通过修改goods_id提前购买。
四、防御方法
为了防范支付漏洞,可以采取以下措施:
1、后端检查:在后端检查订单的每一个值,包括支付状态。
2、校验参数:校验价格、数量参数,比如产品数量只能为整数,并限制最大购买数量。
3、第三方支付平台检查:与第三方支付平台检查实际支付的金额是否与订单金额一致。
4、原路退款:如果给用户退款,要使用原路、原订单退回。
5、加密验证:使用MD5加密、解密、数字签名及验证,避免数据修改和重放攻击。
6、人工审核:金额超过指定值时,进行人工审核。
购买漏洞是一种高风险的逻辑漏洞,需要商家和开发者高度重视并采取有效措施进行防范。
以上就是关于“购买漏洞”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/87380.html