惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Martin Fowler
Martin Fowler
爱范儿
爱范儿
IT之家
IT之家
Last Week in AI
Last Week in AI
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
The Cloudflare Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog

博客园 - lovebanyi

Memory stream is not expandable 博客园密文招聘的解密 微软Azure平台 cloud service动态申请证书并绑定证书碰到的坑 PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。 不要进行过度设计,某一层存在真的有意义吗?是否可以更简单。 化繁为简 定义权限 Ajax加载子域跨站cookie丢失的问题. Exists 比Contains 慢非常多。 ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?" can not work - lovebanyi 值类型引用类型List Remove 方法Remove不掉哪一个项。 流程变换与抽象 Compiler Error Message: CS1513: } expected 如何用好SVN的Branch EntityFramework Any 生成的sql语句超长。 Quartz 的SB问题 GetNextValidTimeAfter 输出和输出 时区 不同步,好傻的方法? 新的一家公司Web开发选择的控件是Dev Express 太烂了,发现项目结构也是混乱的。 使用lambda表达式对属性进行验证。 数据库连接字符串配置的流程改进 从解放劳动力来看未来的科技进程
支付系统会碰到的漏洞问题。
lovebanyi · 2013-05-29 · via 博客园 - lovebanyi

一个支付系统的有两个部分构成

  1. 提供一个支付URL
  2. 通知支付成功

提供一个URL最常见有两大类

  1. 后台请求
  2. 前台请求 
    a.拼接一个Url地址
    b.构建一个自动提交的Form

通知支付成功 简称回调URL

回调URL配置 a 在支付接口哪边配置 b 在发起请求的时候配置。

一般是后台线程请求商家的一个Url

  1. 把参数和加密信息传过来, 商家对 加密信息效验成功就表示信息是可信的。
  2. 把参数传到商家的网站,商家重新去支付接口网站哪边请求数据,然后跟据返回结果对数据进行操作。

有少数是前台页面直接跳转到商家的前台页面,让你在前台页面里面进行请求。

这个时候我们可以看到的攻击方式

   必须知道 回调Url 

  1. 在支付接口提供商哪边配置 (开源程序,多商家程序,支付接口开发人员,商城程序开发人员)
  2. 在发起请求的时候 所有人都可以知道。


    通知支付成功的时候没有进行数据的可信验证。

    1. 支付页面 采用 2a 2b的方式,然后 2a 2b的方式,攻击者可以直接看到传输的数据。然后它就可以伪造一个请求了
    2. 后台请求 但是 关键参数 TransactionID 不是唯一的,生成是有规律的。 这样攻击者也可以伪造一个请求了