第50天:WEB攻防-通用漏洞&购买支付逻辑&数据篡改&请求重放&接口替换

目录

思维导图

购买修改方式

案例一:修改数量和价格

​案例二:低价购买高价产品

案例三:更改支付接口

案例四:无限优惠券

案例五:订单编号逻辑

代码层面&安全修复

价格以数据库为准

​编辑购买数量

优惠券


思维导图

购买修改方式

1.替换支付:3000的支付金额与6000的支付金额尝试用3000的去购买6000的

2.重复支付:支付成功了再次购买能否成功

3.最小额支付:用最小的金额去购买

4.负数支付:同上

5.溢出支付:1000的东西,用90亿的去支付,看网站如何支付

6.优惠卷支付:重复使用优惠卷

案例一:修改数量和价格

大米cms

购买的时候抓包

修改购买数量

价格变为负数

修改价格

价格更改

案例二:低价购买高价产品

首先先购买一个低价产品5400,抓包,记录get请求

再购买一个高价产品6000元的,抓包,记录get请求

把5400里面get请求,除了价格和数量,其余改为6000的然后放包

利用5400购买了6000的产品

案例三:更改支付接口

无法复现:原因只有一些公司和商铺才可以申请,为了预防诈骗

点击支付宝在线进行抓包

攻击原理:支付宝的api接口改为自己的,相当于自己给自己付款

限制和防御:只接收自己规定好的域名,接口

案例四:无限优惠券

两种利用方式:

1.只能领取一次,(多注册几个账号尝试)

2.优惠卷重复使用

先领取两张优惠券

购买的时候使用优惠券,提交抓包

记录信息

购买两次 第一次use_coupon=1  第二次=2

无优惠券购买一次

会发现use_coupon的值会发生变化,有优惠卷每买一次会增加

首先尝试能否优惠卷重用

抓包修改为一样的值,此时无优惠券

可以重用

然后尝试利用逐渐增加的逻辑,让use_coupon=3

可以利用

如何绕过?

1. 把这些优惠券写入数据库当中,每使用一次,就删除一个

2. 把优惠卷后面的数字改为不能人为识别的编码格式

案例五:订单编号逻辑

两个订单,一个价格为1000,另一个价格为9000

点击去支付抓这两个包,查看订单编号

9000的订单编号

1000的订单编号

然后再次点击购买的时候把9000的订单号改为1000的

这个时候9000价格的订单已经变为1000快的了

如何去避免这种操作?

抓包时候会发现有id号,如果将id号与订单编号进行一个绑定的话,进行一个检测,就能避免这种攻击

如果不对应的话,弹出订单信息有误。

代码层面&安全修复

价格以数据库为准

大米cms中价格,post或者request提交可以修改

在niushop当中,价格从数据库中取出,无法修改金额,只能修改数量

购买数量

限制只能为正整数,不能为负数,小数,0

niushop

优惠券

把这些优惠券写入数据库当中,每使用一次,就删除一个

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值