探讨一下某团购网的漏洞
前言:
去年九月份同事在某团购网买了一份火锅套餐,后来几乎每天都去购买。元旦期间,该团购网推出了“VIP会员0元领红包”活动,领红包谁不喜欢?因此我也参与了该活动。
于是果断进去注册,点击购买,进入了购物车再点击确认订单,恩?怎么alert这么一句“本活动只限VIP会员参与”?我第一反应是去看页面源代码(由于该活动已经结束,进不去购买页面了,所以在这里我只好用伪代码来表示):
//确认订单按钮的点击事件function btn_click(){ ajax获取当前用户的类型 如果不是VIP,alert("本活动仅限VIP会员参与"); 否则 form1.submit(); }
然后我在地址栏敲入:javascript:form1.submit(); 回车! 进入付款页面了,再点击确定,恩?购买成功!我获得了5元红包!
太给力了!!!我又新注册一个账号,重复上面的步骤,也成功获得了5元红包。
马上给客服留言说明此BUG,不过到今天还没回复我,呵呵。
这个漏洞的关键点是开发人员忘记了在form1.submit()的后台代码中判断当前用户是否VIP会员,只依赖于javascript的验证。
前台的验证顶啥用啊,完全可以绕过去,后台的验证才最重要!!
有了上午的收获,1号晚上我就继续找别的团购网的漏洞,果然被我找到一个更严重的。
该团购网也举行了一个元旦抽奖砸金蛋活动,也是免费参与,购买后发现得邀请好友参与活动才有砸金蛋的机会,邀请一个好友就多一个机会,如图:
我一点击金蛋就alert一句“没有抽奖机会了快去邀请好友吧!”,恩,又是javascript?看看代码先:
这便是金蛋的点击事件,其中有一个用AJAX去访问的页面lottery1.php,而要传过去的chance变量应该就是当前用户拥有的砸蛋机会。
(学习视频分享:编程入门)
我试着直接访问lottery1.php?chance=1,返回error字符串,lottery1.php?chance=0也返回error,lottery1.php?chance=-1,也
返回error,难道没效果么?我刷新了一下砸金蛋的页面,哇!!
我传了-1过去导致溢出了?我试着砸了几个,每次都成功获得代金卷!!太给力了。接着试着用代金卷去下单,也能成功减免掉几块钱,
不过一张订单只能用一个代金卷,呵呵(当然测试用的订单我最后取消掉了,本人还没那么邪恶,哇咔咔)
马上联系客服,居然下班了,QQ不在线,电话打不通,只好留了个言。
接下来干嘛呢?砸蛋呗!42亿的金蛋呢,写了段JS自动砸!截止现在一共有3588个金蛋被砸开,其中至少有2000多个是我砸的,哇咔咔
得到了一大堆的代金卷:
整整185页,呵呵,蛮壮观的!!!
到了2号,我重新查看该团购网的代码时,发现了一个更严重的问题:
JS中有这么个方法
乍一看是跟钱有关的吧,传入用户ID和钱的数目,试试有什么效果。
用户ID怎么获得呢?别急,页面上有:
这个96204就是我当前帐户的ID了,访问了一下,返回“线下充值成功”,哇,这么给力?充值页面都不加权限验证的?
查看了一下帐户余额,果然充值成功了:
哥有2万余额了,哇咔咔!!这个漏洞太致命了,立马给客服留言。刚留完言,他们的开发人员给我打电话了,和我讨论
砸金蛋的漏洞问题,正好将刚发现的漏洞一起告诉他。开发人员就是命苦啊,元旦期间,晚上10点多了,他还要改代码。
改完他说老板可能送点礼品给我,好期待啊,呵呵。
最后他把我的帐户余额清零了,我在心里呼喊:不~要~啊,我的2万元啊~~~~~~~~
总结一下:前台的验证都是不靠谱的,后台必要都要验证一遍;管理页面一定要加访问权限;传递到后台的数据一定要
进行合法性验证;不必要传递的参数就不传,比如那个砸蛋,我就想不明白为什么要把当前用户拥有的砸蛋机会传递到
后台,直接从数据库中读取不行么?用户ID不要以明文出现。另外还要防范XSS跨站脚本攻击(一般用判断主机头的方式)
我的网站:http://i.goto327.top:85/
相关推荐:网站安全
以上是探讨一下某团购网的漏洞的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题











Java中的缓冲区溢出漏洞及其危害缓冲区溢出是指当我们向一个缓冲区写入超过其容量的数据时,会导致数据溢出到其他内存区域。这种溢出行为常常被黑客利用,可以导致代码执行异常、系统崩溃等严重后果。本文将介绍Java中的缓冲区溢出漏洞及其危害,同时给出代码示例以帮助读者更好地理解。Java中广泛使用的缓冲区类有ByteBuffer、CharBuffer、ShortB

不到一分钟、不超过20步,任意绕过安全限制,成功越狱大型模型!而且不必知道模型内部细节——只需要两个黑盒模型互动,就能让AI全自动攻陷AI,说出危险内容。听说曾经红极一时的“奶奶漏洞”已经被修复了:如今,面对“侦探漏洞”、“冒险家漏洞”和“作家漏洞”,人工智能应该采取何种应对策略呢?一波猛攻下来,GPT-4也遭不住,直接说出要给供水系统投毒只要……这样那样。关键这只是宾夕法尼亚大学研究团队晒出的一小波漏洞,而用上他们最新开发的算法,AI可以自动生成各种攻击提示。研究人员表示,这种方法相比于现有的

在Web应用程序的开发中,文件上传功能已经成为了基本的需求。这个功能允许用户向服务器上传自己的文件,然后在服务器上进行存储或处理。然而,这个功能也使得开发者更需要注意一个安全漏洞:文件上传漏洞。攻击者可以通过上传恶意文件来攻击服务器,从而导致服务器遭受不同程度的破坏。PHP语言作为广泛应用于Web开发中的语言之一,文件上传漏洞也是常见的安全问题之一。本文将介

Java中的逗号运算符漏洞和防护措施概述:在Java编程中,我们经常使用逗号运算符来同时执行多个操作。然而,有时候我们可能会忽略逗号运算符的一些潜在漏洞,这些漏洞可能导致意外的结果。本文将介绍Java中逗号运算符的漏洞,并提供相应的防护措施。逗号运算符的用法:逗号运算符在Java中的语法为expr1,expr2,可以说是一种序列运算符。它的作用是先计算ex

2月2日消息,微软软件工程部门经理ShaneJones最近发现OpenAI旗下的DALL-E3模型存在漏洞,据称可以生成一系列不适宜内容。ShaneJones向公司上报了该漏洞,但却被要求保密。然而,他最终还是决定向外界披露了这个漏洞。▲图源ShaneJones对外披露的报告本站注意到,ShaneJones在去年12月通过独立研究发现OpenAI文字生成图片的DALL-E3模型存在一项漏洞。这个漏洞能够绕过AI护栏(AIGuardrail),导致生成一系列NSFW不当内容。这个发现引起了广泛关注

本站6月21日消息,PhoenixSecureCoreUEFI固件被曝安全漏洞,影响数百款英特尔CPU设备,联想目前已经发布了新的固件更新修复该漏洞。本站从报道中获悉,该漏洞追踪编号为CVE-2024-0762,被称为“UEFICANHAZBUFFEROVERFLOW”,存在于PhoenixUEFI固件中的可信平台模块(TPM)配置中,是一个缓冲区溢出漏洞,可被利用在易受攻击的设备上执行任意代码。该漏洞由Eclypsium发现,他们在联想ThinkPadX1Carbon第7代和X1Yoga第4代

Java中的HTTP响应拆分漏洞及其修复摘要:在JavaWeb应用程序中,HTTP响应拆分漏洞是一种常见的安全威胁。本文将介绍HTTP响应拆分漏洞的原理、影响,以及如何修复该漏洞,通过代码示例来帮助开发人员更好地理解和防范此类安全威胁。引言HTTP协议是Web应用程序中最常用的协议之一。它通过HTTP请求和HTTP响应进行通信,以提供与Web服务器之间的交

点击进入:ChatGPT工具插件导航大全
