一个支付系统的有两个部分构成
- 提供一个支付URL
- 通知支付成功
提供一个URL最常见有两大类
- 后台请求
- 前台请求
a.拼接一个Url地址
b.构建一个自动提交的Form
通知支付成功 简称回调URL
回调URL配置 a 在支付接口哪边配置 b 在发起请求的时候配置。
一般是后台线程请求商家的一个Url
- 把参数和加密信息传过来, 商家对 加密信息效验成功就表示信息是可信的。
- 把参数传到商家的网站,商家重新去支付接口网站哪边请求数据,然后跟据返回结果对数据进行操作。
有少数是前台页面直接跳转到商家的前台页面,让你在前台页面里面进行请求。
这个时候我们可以看到的攻击方式
必须知道 回调Url
- 在支付接口提供商哪边配置 (开源程序,多商家程序,支付接口开发人员,商城程序开发人员)
- 在发起请求的时候 所有人都可以知道。
通知支付成功的时候没有进行数据的可信验证。
-
- 支付页面 采用 2a 2b的方式,然后 2a 2b的方式,攻击者可以直接看到传输的数据。然后它就可以伪造一个请求了
- 后台请求 但是 关键参数 TransactionID 不是唯一的,生成是有规律的。 这样攻击者也可以伪造一个请求了