热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

靶场复现——(支付漏洞)仅学习

靶场复现,学习原理,维护安全,不准上升到现实!!!!快捷支付原理商户网站接入支付结

靶场复现,学习原理,维护安全,不准上升到现实!!!!


 快捷支付原理


商户网站接入支付结果有两种方式,

一种是通过浏览器进行跳转通知,

一种是服务器端异步通知

浏览器跳转

基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改而降低安全性

服务器端异步通知

该方式是支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST或GET的方式。商户网站接收异部参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等



支付漏洞?


相对于其他漏洞来说,支付漏洞应该是大家最喜闻乐见的了,比如一分钱购买手机(但是大家渗透测试要有分寸

支付漏洞并不需要代码审计,各位同学可以放心。

支付漏洞属于逻辑漏洞,挖掘这类漏洞有发散(QiPa)思维,往往有事半功倍的效果,简单来说就是不按常理出牌。



修改支付的价格(https://www.uedbox.com/post/22477/)


支付三步曲——订购、订单、付款 三个步骤当中的随便一个步骤进行修改价格测试,如果前面两步有验证机制,那么你可在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值你可以尝试小数目或者尝试负数。



修改支付状态(https://www.uedbox.com/post/24090/)


订单完成——未完成(傻傻分不清) A订单-0001完成——B订单-0002未完成 付款时尝试把订单B的单号给成订单A 其实也不局限于付钱:http://woo.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0156253



修改订单数量(https://www.uedbox.com/post/23143/)


修改附属值


 优惠劵 优惠劵其基本都是优惠,一般用优惠劵进行消费一般出现在第二个步骤当中:确认购买信息,在这个步骤页面当中,你可以选择相关优惠劵,然后直接修改金额大于或等于商品的价格就可以,或者直接修改其为负值进行尝试,最后进行支付,如果对这点没有加以验证,那么问题就会产生,直接支付成功



支付漏洞如何挖掘


如何挖掘 找到关键的数据包

可能一个支付操作有三四个数据包,我们要对数据包进行挑选。

分析数据包 支付数据包中会包含很多的敏感信息(账号,金额,余额,优惠),要尝试对数据包中的各个参数进行分析。 不按套路出牌 多去想想开发者没有想到的地方 pc端尝试过,wap端也看看,app也试试。



防御方法


防御方法 后端检查每一项值,包括支付状态。

校验价格、数量参数,比如产品数量只能为正整数,并限制购买数量 与第三方支付平台检查,实际支付的金额是否与订单金额一致。

支付参数进行MD5 加密、解密、数字签名及验证,这个可以有效的避免数据修改,重放攻击中的各种问题 金额超过阈(yu)值,进行人工审核



什么是支付漏洞?


支付漏洞属于逻辑漏洞的一种,是和支付的业务有关,支付业务中出现的逻辑漏洞全部属于支付漏洞



支付漏洞危害大吗?


支付业务一般和资金挂钩,如果支付宝存在支付漏洞,我可以不断的刷钱,你觉得危害如何?



支付漏洞常见吗?


支付漏洞还是比较常见的,特别是一些小商城、小网站、非法网站容易出现一些支付漏洞



支付漏洞测试需要负法律责任吗?


支付漏洞测试用较小的金额,一般控制在10块内,金额不要过大,而且测试成功后火速提交,不要留着。



快捷支付的原理?


快捷支付实际上就是跳转到支付页面,然后你付钱,然后商家获取到支付结果(早期由依赖浏览器跳转的支付、后面多为异步传输(付钱成功后,支付商和商家有自己的联系通道,不依靠客户浏览器跳转))



支付漏洞需要代码审计吗?


不需要,而且一般而言你也没有目标源码,无法进行审计



支付漏洞挖掘的核心思想是什么?


不仅仅是支付漏洞,在逻辑漏洞中,要有发散性思维,多想一些别人一般不会想到的操作,比如支付漏洞,买几个商品,然后在数量那里有负数,然后将最终价格变为0



常见支付漏洞:


修改支付价格、修改支付状态、修改订单数量、修改优惠价优惠价格和使用限制、越权支付、无限试用



修改支付价格具体操作?


修改支付价格,主要是通过抓包,比如你买一个电脑,标价6999,然后你发现数据包里面有6999的传参,然后我改成了6.999,然后跳转到支付页面,我付了6.999将这个电脑买下,也可以把金额改为负数



修改支付状态具体操作?


比如你购买一个1000的商品,然后又购买一个10块的商品,两个订单号不同,然后你抓包,将1000块支付发送的数据包的订单号改为10块,然后付了10块钱,发现商品买到手了



修改订单数量具体操作?


订单数量的操作一般都是负数,买一个贵的,几个便宜的商品,然后贵的商品的价格为-1,于是乎这个贵的商品的价格就是个负数,比如-8999,然后我再买几个商品,加起来也是8999,那么计算总金额的时候就是 -8999+8999 == 0 ,于是乎0元购买了



修改优惠卷优惠价格和使用限制具体操作?


这里出发点,不在于商品本身了,核心在于优惠卷,比如优惠卷价格修改,比如使用N张优惠卷



越权支付具体操作?


越权支付,修改支付金额的用户id号,扣其他用户的钱



支付漏洞仅仅在WEB端有吗?


那里都有,不仅仅WEB,有支付的方面都可能有,这个要开阔思维,我上次出去吃个烧烤,扫码点单顺手一个XSS



如果传参加密了怎么办?


看到第一件事是别慌,加密不代表杜绝漏洞了,先看看能不能找到加密方式,然后买不同价格东西,买同价格的东西,去比对数据包



如何防御支付漏洞?


后端检测一切传参、金额大的话人工审核、传参中不涉及金额、加密传参



越权支付漏洞怎么预防?


做好权限控制呗



靶场支付漏洞怎么做?


修改支付价格和修改支付数量都行



支付漏洞和其他逻辑漏洞的核心是什么?


控制参数



有没有一些神奇案例?


以前艺龙似乎出现一个支付漏洞,只需要信用卡账号有信用卡有效期就可以直接消费。



如何提升自己在支付漏洞方面的挖掘?


他山之石,可以攻玉。


(| 乌云网 | WooYun.org)

好了好了,进靶场看一看,把之前流的坑跟填平

不得不说,这页面真的比老版好太多了,不知道的还以为我在摸鱼

但是点点就会发现,好多页面都是打不开的,毕竟就是个靶场呀,可以理解的

而且每个能打开的页面,都可以看到推荐的小姐姐衣服,不用猜,开发这靶场的是个男孩子~

​ 

 抓到包后,把数量改为-1就可以了

 

都到这一步了才发现自己还没有注册登录

注册登录完成后,发现购物车被清空,又要去改包了

 支付成功后,进入个人中心,发现还是没有出现flag,好奇怪呀!!

我又逛了逛,在待发货哪里看到了可以退货的选项,我在想,是不是退回来的是有钱的就像是空手套白狼,就选择了退款

 重申一遍,这是靶场复现,不能上升到生活中

我已经遇到过认识的人进去了!!!


靶场复现


靶场复现


靶场复现


靶场复现


靶场复现


推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • Java大文件HTTP断点续传到服务器该怎么做?
    最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传。这里在简要归纳一下,方便记忆 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
author-avatar
mobiledu2502899157
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有