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

“薅羊毛”漏洞分析|我是如何到处“混吃混喝”的

https:www.freebuf.comvuls149251.html*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自

https://www.freebuf.com/vuls/149251.html

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

*本文原创作者:小石,本文属FreeBuf原创奖励计划,未经许可禁止转载

不多哔哔 先看图 无图无真相 (๑•̀ㅂ•́)و✧。

好孩子不要学 | 我是如何到处混吃混喝的

1.jpg

好孩子不要学 | 我是如何到处混吃混喝的

下面就跟大家分享交流一下经验,漏洞均已上报给相应的厂商,无法透露详细细节,见谅。


一、某餐饮店的储蓄卡 卡里有800元可到任意分店进行消费

该储蓄卡分4种面值 60、200(180元购)、400(350元购)、800(650元购)。

因为没有购物车功能直接进行购买,负数漏洞是无法利用的了。

那么就分析一下购买的数据包,看看是否进行了价格、优惠等价格的传递。

saleAmt储蓄卡的单价 totalQty购买数量 totalAmt总价。

好孩子不要学 | 我是如何到处混吃混喝的

尝试修改了单价以及总价无果 对价格做了检测。

最后发现修改cardType的值 其余参数不动 貌似能以低价购买高价的卡。

选择购买60元的卡 –> 提交订单 –> 拦截数据包修改cardType的值为800的 –> 付款60 –> 拿到800元的卡。


此漏洞产生的原因

该程序员还是有安全意识的,对传递的价格参数做了检测。

但经过fuzz以及漏洞利用成功之后发现他仅仅将传递的价格与数据库中的价格进行比对,如果存在则放行,不存在则阻止。

以60元的举例:传递saleAmt:60 –> 查询数据库中价格列是否含有60?通过并提示付款:阻止。


二、某个厂商的活动 参与即可领取XXX电子券

开始我还以为只是个活动噱头,没那么容易拿到电子券的。

但我控制不住自己的好奇心啊,打开了burpsuite设置好了代理。

进入活动进行参与,没想到真的直接跳转到了领取电子券的页面,良心啊!

我将成功领取电子券的包抓了下来,放到Repeater进行分析,一个get包,大致如下:


GET /?a=0001&b=f
Host: 127.0.0.1
XXX: XXXX
...

我将包原封不动的重放,响应200但是没有回显,成功领取的那个数据包回显了电子券的过期日期的。

a参数一看就知道代表是电子券的类型 b参数看不出是什么,别的地方也没啥好改的,就随便改个值看看吧。

没想到一改这b参数的值就回显了电子券的过期日期,我都惊呆了w(゚Д゚)w。

打开我的奖励,确认多了一张电子卷,也查看了卷码,跟刚领的不同。

只要b参数的值之前没有提交过,就可以成功领取一张,光数字组合起来的就拿到手软好嘛..


此漏洞产生的原因

不详..我也不知道为啥会这样,还请大佬多指教。


三、想必大家非常熟悉了,基本随处可见的烤鱼店

经过一天刻苦的学(shen)习(you)后,大佬们带我去了烤鱼,到了店里我就跟大佬们说。

“有没有可能找到漏洞免费吃啊?” 大佬无情回复”怎么可能,哪会有漏洞。”

当时手上也没电脑,美滋滋的吃完就溜了。

过了两天闲来无事,就去看了看他的自助点餐系统,发现存在负数漏洞 开始还很激动。

但是需要到店跟店员确认的,所以并没什么用,但紧接着又发现他的一个商城,有卖一些菜品的卡卷。

进入商城页面一个购物车的图标就吸引了我,直接尝试负数漏洞,构造出最低价,付款,最后我仅用4元就买到了一张烤鱼的卷!


此漏洞产生的原因

没有对商品的数量进行校验是否正常导致结算出问题,例如A商品单价10元,B商品单价9元。

系统进行结算的公式: 单价数量 + 单价数量 = 总价

假如我添加了1个A、-1个B到购物车,

总价 = 110 + (-1)9 = 10 – 9 = 1 元。

感谢观看,小小杂技,献丑了,各位大佬请多多指教(。_。)

*本文原创作者:小石,本文属FreeBuf原创奖励计划,未经许可禁止转载




推荐阅读
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 自动验证时页面显示问题的解决方法
    在使用自动验证功能时,页面未能正确显示错误信息。通过使用 `dump($info->getError())` 可以帮助诊断和解决问题。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 本文介绍了一种使用 JavaScript 计算两个日期之间时间差的方法。该方法支持多种时间格式,并能返回秒、分钟、小时和天数等不同精度的时间差。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
author-avatar
chroalist
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有