探讨一下某团购网的漏洞
前言:
去年九月份同事在某团购网买了一份火锅套餐,后来几乎每天都去购买。元旦期间,该团购网推出了“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/
相关推荐:网站安全
Atas ialah kandungan terperinci 探讨一下某团购网的漏洞. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Kelemahan limpahan penampan di Jawa dan bahayanya Limpahan penimbal bermakna apabila kita menulis lebih banyak data ke penimbal daripada kapasitinya, ia akan menyebabkan data melimpah ke kawasan memori lain. Tingkah laku limpahan ini sering dieksploitasi oleh penggodam, yang boleh membawa kepada akibat yang serius seperti pelaksanaan kod yang tidak normal dan ranap sistem. Artikel ini akan memperkenalkan kelemahan limpahan penimbal dan kemudaratannya dalam Java dan memberikan contoh kod untuk membantu pembaca memahami dengan lebih baik. Kelas penimbal yang digunakan secara meluas dalam Java termasuk ByteBuffer, CharBuffer, dan ShortB

Dalam masa kurang daripada satu minit dan tidak lebih daripada 20 langkah, anda boleh memintas sekatan keselamatan dan berjaya menjailbreak model besar! Dan tidak perlu mengetahui butiran dalaman model - hanya dua model kotak hitam perlu berinteraksi, dan AI boleh mengalahkan AI secara automatik dan bercakap kandungan berbahaya. Saya mendengar bahawa "Grandma Loophole" yang pernah popular telah diperbaiki: Sekarang, menghadapi "Detektif Loophole", "Adventurer Loophole" dan "Writer Loophole", apakah strategi tindak balas yang harus diguna pakai kecerdasan buatan? Selepas gelombang serangan, GPT-4 tidak tahan lagi, dan secara langsung mengatakan bahawa ia akan meracuni sistem bekalan air selagi... ini atau itu. Kuncinya ialah ini hanyalah gelombang kecil kelemahan yang didedahkan oleh pasukan penyelidik University of Pennsylvania, dan menggunakan algoritma mereka yang baru dibangunkan, AI boleh menjana pelbagai gesaan serangan secara automatik. Penyelidik mengatakan kaedah ini lebih baik daripada yang sedia ada

Dalam pembangunan aplikasi web, fungsi muat naik fail telah menjadi keperluan asas. Ciri ini membolehkan pengguna memuat naik fail mereka sendiri ke pelayan dan kemudian menyimpan atau memprosesnya pada pelayan. Walau bagaimanapun, ciri ini juga membuatkan pembangun perlu memberi lebih perhatian kepada kelemahan keselamatan: kerentanan muat naik fail. Penyerang boleh menyerang pelayan dengan memuat naik fail berniat jahat, menyebabkan pelayan mengalami pelbagai tahap kerosakan. Bahasa PHP adalah salah satu bahasa yang digunakan secara meluas dalam pembangunan web, dan kelemahan muat naik fail juga merupakan salah satu isu keselamatan yang biasa. Artikel ini akan memperkenalkan

Gambaran Keseluruhan Kerentanan Pengendali Koma dan Langkah-langkah Pertahanan dalam Java: Dalam pengaturcaraan Java, kami sering menggunakan operator koma untuk melaksanakan berbilang operasi pada masa yang sama. Walau bagaimanapun, kadangkala kita mungkin terlepas pandang beberapa kemungkinan kelemahan pengendali koma yang mungkin membawa kepada hasil yang tidak dijangka. Artikel ini akan memperkenalkan kelemahan pengendali koma di Jawa dan menyediakan langkah perlindungan yang sepadan. Penggunaan operator koma: Sintaks operator koma di Java ialah expr1, expr2, yang boleh dikatakan sebagai operator jujukan. Fungsinya adalah untuk mengira dahulu ex

Menurut berita pada 2 Februari, Shane Jones, pengurus jabatan kejuruteraan perisian Microsoft, baru-baru ini menemui kelemahan dalam model DALL-E3 OpenAI, yang dikatakan boleh menjana satu siri kandungan yang tidak sesuai. Shane Jones melaporkan kelemahan itu kepada syarikat itu, tetapi diminta untuk merahsiakannya. Bagaimanapun, dia akhirnya memutuskan untuk mendedahkan kelemahan kepada dunia luar. ▲Sumber imej: Laporan yang didedahkan oleh ShaneJones Laman web ini mendapati bahawa ShaneJones mendapati melalui penyelidikan bebas pada Disember tahun lepas bahawa terdapat kelemahan dalam model DALL-E3 imej jana teks OpenAI. Kerentanan ini boleh memintas AI Guardrail (AIGuardrail), menghasilkan penjanaan siri kandungan NSFW yang tidak sesuai. Penemuan ini menarik perhatian ramai

Menurut berita dari laman web ini pada 21 Jun, perisian tegar Phoenix Secure Core UEFI terdedah kepada kelemahan keselamatan, yang menjejaskan beratus-ratus peranti CPU Intel Lenovo telah mengeluarkan kemas kini perisian tegar baharu untuk membetulkan kelemahan tersebut. Tapak ini mengetahui daripada laporan bahawa nombor penjejakan kerentanan ialah CVE-2024-0762, dikenali sebagai "UEFICANHAZBUFFEROVERFLOW", yang wujud dalam konfigurasi Trusted Platform Module (TPM) bagi perisian tegar Phoenix UEFI Ia adalah kelemahan limpahan penimbal yang boleh Dieksploitasi laksanakan kod arbitrari pada peranti yang terdedah. Kerentanan itu ditemui oleh Eclypsium dalam Lenovo ThinkPad X1 Carbon generasi ke-7 dan X1Yoga generasi ke-4

Ringkasan Kerentanan Pemisahan Respons HTTP di Java dan Pembaikannya: Dalam aplikasi Web Java, kelemahan pemisahan respons HTTP adalah ancaman keselamatan yang biasa. Artikel ini akan memperkenalkan prinsip dan impak kerentanan pemisahan tindak balas HTTP, serta cara membetulkan kelemahan dan menggunakan contoh kod untuk membantu pembangun lebih memahami dan mencegah ancaman keselamatan tersebut. Pengenalan Protokol HTTP adalah salah satu protokol yang paling biasa digunakan dalam aplikasi web. Ia berkomunikasi melalui permintaan HTTP dan respons HTTP untuk menyediakan interaksi dengan pelayan web.

<ul><li><strong>Klik untuk masuk:</strong>Navigasi pemalam alat ChatGPT</li></ul><figureclass="image--expandable">< imgsrc ="/uploads/2023041
