记录某商城0元购和SQL注入漏洞

admin 2024年10月30日19:52:15评论13 views字数 2417阅读8分3秒阅读模式

扫码领资料

获网安教程

记录某商城0元购和SQL注入漏洞

记录某商城0元购和SQL注入漏洞

本文由掌控安全学院 -  Tobisec 投稿

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

0x1 前言

哈喽,师傅们!

这次给师傅们分享的是一个商城的0元购和SQL注入漏洞,写的还是蛮详细的,让师傅们都能够看的懂。这个零元购很多师傅都没有亲自去挖过,下面我给师傅们分享的案例,师傅们可以仔细看看,然后看完师傅们就可以多去那种商城测试下,然后打一波零元购,还有就是付款页面的前端校验,看看能不能通过bp进行一个绕过。

0x2 商城0元购

一、支付漏洞简介

支付漏洞是 高风险漏洞 也属于 逻辑漏洞,通常是通过 篡改价格、数量、状态、接口、用户名等传参,从而造成 小钱够买大物 甚至可能造成 0元购买商品 等等,凡是 涉及购买、资金等方面的功能处 就有可能存在支付漏洞。文中如有错误的地方,还望各位大佬在评论区指正。

二、0元购漏洞

零元购漏洞测试

这次挖掘的这个0元购还是运气好,就是纯逻辑漏洞,然后进行一个前端的绕过就可以直接0元购的,也没有进行一个后端校验。

然后呢,这个0元购也是上个月挖的,也是直接在漏洞盒子提交成功了,厂商那边也是审核通过了我的这个漏洞,也是给了个高危。这次把这个案例拿出来的原因是这个案例比较经典,就是很经典的0元购,也是为了让一些小白师傅们能够更好的掌握0元购。

记录某商城0元购和SQL注入漏洞

img

这次零元购的目标是一个卖会员的一个专营店,然后也是对这个目标站点进行一个测试

记录某商城0元购和SQL注入漏洞img

这里经过多个功能点测试,发现这里支付会员的功能点页面可能存在一个零元购(像这样的站点高低得测下零元购)

记录某商城0元购和SQL注入漏洞

img

点击购买,选择,然后输入购买数量和联系方式

这里为了给师傅们展示漏洞零元购的效果和危害,直接选择一年会员,168元,然后后面再零元购成功,让师傅们感受下这个漏洞的危害

记录某商城0元购和SQL注入漏洞

img

这里把所以的信息都填好以后,然后使用bp进行一个零元购的测试

直接使用bp抓包,然后进行订单的金额修改,把下面的168元都改成0.00元,然后再放包

记录某商城0元购和SQL注入漏洞

img

bp放包后,成功只需要0.10元(修改的是0.00应该是进一了)这里直接零元购成功了

记录某商城0元购和SQL注入漏洞img

支付成功以后,还可以查询到自己订阅的订单号

这里说明我们已经成功修改支付金额为0.10元

记录某商城0元购和SQL注入漏洞

img

修复建议

1.输入验证:确保对所有输入数据进行严格的验证和过滤,以防止用户输入恶意代码或非法字符。验证用户输入的格式和内容,例如金额、数量等,并确保输入数据的有效性和合法性。
2.安全算法:使用加密算法来保护支付过程中的敏感信息,如用户密码、支付账号等。确保使用强密码机制,并加密存储用户敏感信息。
3.限制权限:使用权限管理来限制对支付功能的访问权限。只授权必要的用户或角色能够执行支付操作,并确保对敏感操作进行审计。
4.双重认证:引入双重认证机制,如短信验证码、指纹识别等,以增加支付过程的安全性。通过引入额外的身份验证步骤,可以降低被恶意用户利用漏洞进行支付的风险。

0x3 SQL注入漏洞

这个SQL注入漏洞跟上面的是同一个站点的,但是是不同的功能点,我是在测试完上面的零元购以后,然后还在别的地方测试了下,这里的订单界面还存在一个SQL注入漏洞
记录某商城0元购和SQL注入漏洞

img

一、影响参数:

and ascii(substr(database(),1,1))>1— - and ascii(substr(database(),1,1))>120— -

二、漏洞POC:

https://www.payindex.php?shop=120 and ascii(substr(database(),1,1))>1-- -https://www.payindex.php?shop=120 and ascii(substr(database(),1,1))>120-- -

三、SQL注入漏洞测试

这个SQL注入漏洞是存在get传参的地方,然后在购买会员的页面 发现存在SQL盲注
记录某商城0元购和SQL注入漏洞

img
1.利用sql盲注的方法
and ascii(substr(database(),1,1))>1— - 页面正常
记录某商城0元购和SQL注入漏洞

img
使用and ascii(substr(database(),1,1))>120— - 页面报错
说明存在sql盲注,我们就是可以尝试利用sqlmap工具脚本跑下
记录某商城0元购和SQL注入漏洞

img
2、sqlmap跑脚本
下图是利用sqlmap跑出来的,可以看到改网站是GET传参,MySQL≥5.0.12
后面跑出来的数据库,为了用户的隐私,没有展现出来
sqlmap -u " https://www.xxxxx/payindex.php?shop=120" -p name --technique=T -v 1 --dbms//这里–technique=T 是指定注入的类型位时间延长注入
记录某商城0元购和SQL注入漏洞

img

四、修复建议

1.使用参数化查询或预编译语句:确保所有的 SQL 查询语句都是通过参数化查询或预编译语句执行,而不是通过字符串拼接。这样可以防止恶意输入被执行为 SQL 代码。
2.输入验证和过滤:对用户输入的数据进行严格的验证和过滤,确保在接收用户输入时,只允许合法的字符和格式,并拒绝特殊字符和 SQL 关键字。此外,可以通过输入长度限制和类型检查来进一步增强输入验证。
3.最小权限原则:确保数据库访问的最小权限原则,即用户账户只拥有执行必要操作的权限,避免使用具有过高权限的账户执行数据库操作。
4.错误信息处理:避免在用户错误输入时,返回详细的错误信息,以免给黑客提供有关数据库结构的相关信息,并避免直接将原始 SQL 错误信息暴露给端用户。

0x4 总结

这个给师傅们分享的0元购和SQL注入漏洞文章就到这里了,后面要是还有相关的漏洞挖到了,继续给师傅们进行一波分享。
这里也希望这篇文章对师傅们有帮助,然后有任何的问题欢迎师傅们来评论区进行交流。

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

记录某商城0元购和SQL注入漏洞

原文始发于微信公众号(掌控安全EDU):记录某商城0元购和SQL注入漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月30日19:52:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记录某商城0元购和SQL注入漏洞http://cn-sec.com/archives/3333351.html

发表评论

匿名网友 填写信息