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

推荐订阅源

人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
V
V2EX
博客园 - 【当耐特】
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
B
Blog
V
Visual Studio Blog
D
DataBreaches.Net
C
Check Point Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs

博客园 - 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 不是唯一的,生成是有规律的。 这样攻击者也可以伪造一个请求了