文章目录
1 前言
这次给大家分享的是一个商城的0元购和SQL注入漏洞,自我感觉写的还是蛮详细的,尽量让新手们都能够看的懂。这个零元购很多人都没有亲自去挖过,下面我给大家分享的案例可以仔细看看,然后看完你们就可以多去那种商城测试下,然后打一波零元购,还有就是付款页面的前端校验,看看能不能通过bp进行一个绕过。
2 商城0元购
一、支付漏洞简介
支付漏洞是 高风险漏洞 也属于 逻辑漏洞,通常是通过 篡改价格、数量、状态、接口、用户名等传参,从而造成 小钱够买大物 甚至可能造成 0元购买商品 等等,凡是 涉及购买、资金等方面的功能处 就有可能存在支付漏洞。文中如有错误的地方,还望各位大佬在评论区指正。
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
二、0元购漏洞
零元购漏洞测试
这次挖掘的这个0元购还是运气好,就是纯逻辑漏洞,然后进行一个前端的绕过就可以直接0元购的,也没有进行一个后端校验。
然后呢,这个0元购也是上个月挖的,也是直接在漏洞盒子提交成功了,厂商那边也是审核通过了我的这个漏洞,也是给了个高危。这次把这个案例拿出来的原因是这个案例比较经典,就是很经典的0元购,也是为了让一些小白师傅们能够更好的掌握0元购。
这次零元购的目标是一个卖会员的一个专营店,然后也是对这个目标站点进行一个测试
这里经过多个功能点测试,发现这里支付会员的功能点页面可能存在一个零元购(像这样的站点高低得测下零元购)
点击购买,选择,然后输入购买数量和联系方式
这里为了给大家展示漏洞零元购的效果和危害,直接选择一年会员,168元,然后后面再零元购成功,让大家感受下这个漏洞的危害
这里把所以的信息都填好以后,然后使用bp进行一个零元购的测试
直接使用bp抓包,然后进行订单的金额修改,把下面的168元都改成0.00元,然后再放包
bp放包后,成功只需要0.10元(修改的是0.00应该是进一了)这里直接零元购成功了
支付成功以后,还可以查询到自己订阅的订单号
这里说明我们已经成功修改支付金额为0.10元
修复建议
1.输入验证:确保对所有输入数据进行严格的验证和过滤,以防止用户输入恶意代码或非法字符。验证用户输入的格式和内容,例如金额、数量等,并确保输入数据的有效性和合法性。
2.安全算法:使用加密算法来保护支付过程中的敏感信息,如用户密码、支付账号等。确保使用强密码机制,并加密存储用户敏感信息。
3.限制权限:使用权限管理来限制对支付功能的访问权限。只授权必要的用户或角色能够执行支付操作,并确保对敏感操作进行审计。
4.双重认证:引入双重认证机制,如短信验证码、指纹识别等,以增加支付过程的安全性。通过引入额外的身份验证步骤,可以降低被恶意用户利用漏洞进行支付的风险。
3 SQL注入漏洞
这个SQL注入漏洞跟上面的是同一个站点的,但是是不同的功能点,我是在测试完上面的零元购以后,然后还在别的地方测试了下,这里的订单界面还存在一个SQL注入漏洞
一、影响参数:
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盲注
1.利用sql盲注的方法
and ascii(substr(database(),1,1))>1— - 页面正常
使用and ascii(substr(database(),1,1))>120— - 页面报错
说明存在sql盲注,我们就是可以尝试利用sqlmap工具脚本跑下
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
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 是指定注入的类型位时间延长注入
四、修复建议
1.使用参数化查询或预编译语句:确保所有的 SQL 查询语句都是通过参数化查询或预编译语句执行,而不是通过字符串拼接。这样可以防止恶意输入被执行为 SQL 代码。
2.输入验证和过滤:对用户输入的数据进行严格的验证和过滤,确保在接收用户输入时,只允许合法的字符和格式,并拒绝特殊字符和 SQL 关键字。此外,可以通过输入长度限制和类型检查来进一步增强输入验证。
3.最小权限原则:确保数据库访问的最小权限原则,即用户账户只拥有执行必要操作的权限,避免使用具有过高权限的账户执行数据库操作。
4.错误信息处理:避免在用户错误输入时,返回详细的错误信息,以免给黑客提供有关数据库结构的相关信息,并避免直接将原始 SQL 错误信息暴露给端用户。
4 总结
今天给大家分享的0元购和SQL注入漏洞文章就到这里了,后面要是还有相关的漏洞挖到了,继续给大家进行一波分享。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~