漏洞挖掘某电子商城类漏洞挖掘案例教程,手把手教你复现一个完整的漏洞挖掘全流程

前言

电子商城购物系统我们每天都能接触到,现在的商城系统,大多数已经在小程序、APP方向去开发了,因为灵活,方便管理且开发难度不高,当然,现在WEB系统还很多,我们本次会选几个SRC去浅挖一下那些电子商城系统存在的漏洞,黑盒占多数,其中有某电子商城白盒测试(历史漏洞),当然,在黑盒测试中,逻辑漏洞占大多数,像我们之前说过的:命令执行和代码执行这种漏洞,基本上只能去靠审代码,因为需要拼接参数,可能少一个参数甚至一个符号都RCE失败,文件上传和SQL注入可能还能浅试一下

在这里插入图片描述

* 本文章仅供学习参考,完全仿真环境复现,禁止非法攻击,后果自负

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

2 漏洞挖掘

P1. 白盒-仿Tmall商城(历史漏洞)

机器名称机器IP
攻击机172.16.1.50
靶机172.16.1.204

代码审计阶段

首先,我们需要在攻击机内IDEA导入相关源代码,因为是传统的spring框架搭建,在pom.xml会看到使用的相关依赖,有时候在这里可能会发现意想不到的收获,比如老版本的框架等

在这里插入图片描述

然后在代码main目录中,往下递归看有controller层,相关的核心代码都在这里,俗称MVC框架,这个就是C

在这里插入图片描述

传统的代码审计方式,肯定根据想挖掘的漏洞放心去查关键字符号等,比如此处出现的SQL注入,这里的数据库使用的是Mybatis,我们全局搜索 ${ 关键字

在这里插入图片描述

像SQL语句一般定义在XML文件中,主要找此类文件

在这里插入图片描述

往上看CTRL跟进可疑位置:dao层UserMapper,进入相关java视图

在这里插入图片描述

继续跟进select来查看谁使用了这个函数

在这里插入图片描述

在UserServiceIMPI.java中定义了一个方法:getList,这个方法需要使用orderUtil,继续跟进谁使用了getList方法

跟进去后,看到170行使用了orderUtil,往上看定义中使用了ordeyBy和isDesc

跟进是可以看注释的,但是这个在SQL语句中,师傅们应该都知道什么意思

然后在上面的value处可以看到使用的url路径,大概猜测是查询用户,然后进行倒序处理之类的功能

SQL注入实测

因为是后台漏洞,所有需要登录后台登录页面:

访问:http://172.16.1.204:8087/tmall/admin 登录

在用户管理-查询时,进行翻页,在burp suite处会出现orderby参数

给orderby赋值给1和99可以看到正常存在和报错信息,说明SQL语句的执行

直接丢sqlmap去跑,因为是后台漏洞,可以指定cookie或直接保存数据包去跑

sqlmap -r 1.txt -p orderby --dbs

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

任意文件上传代码审计

在进行代码审计时,搜索关键字比全篇通读较合适,全片通读较为仔细,但是比较浪费时间,这里使用IDEA搜索到UploadHandle有文件使用

然后经过跟进得知被调用处为后台头像上传处,进行测试,F12定位到头像处,看到文件上传前端限制的文件类型

上传一张正常图片可以上传成功,然后使用冰蝎马上传,通过更改mime绕过前端限制上传成功

最后通过路径拼接,使用冰蝎连接成功,完成任意文件上传

我们之前提到的SQL注入和任意文件上传在黑盒中挖掘出洞的概率远比代码执行和命令执行概率高,可以自行试想一下,把代码审计步骤去掉,这些黑盒步骤是否也能做出来呢


P2. 黑盒-某图书商城敏感信息泄露

这是一个图书商城的漏洞,大概有二十年左右了,比较大的一个企业,很不可思议

在这个商城中,有一个商家板块,我们通过商家主页可以看到在售商品,通过插件可以看到,使用的是PHP语言

然后前端调用了js文件,其中js中含有api链接,这个api我们使他报错可以看到有点形似swagger的样子

通过提取前端的一些api,可以看到widget/ajax一类的应该是和商家信息有关,因为在其它页面没有

其中呢ajax类似于接口文件,后面跟的参数:shopinfo也就是商品信息,tpl更类似于二级栏目,api就是调用类型,在往后正常情况下每个接口需要跟一个shopid也就是商家店铺id,别问我为啥知道的,挖逻辑漏洞就是不断的拼接参数

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

首先呢,它会鉴权,我们先登录,再去看

依次遍历api接口,并加shopid,后找到商家泄露信息的api

当时该API还泄露了商家的身份证号的,我一激动直接去找平台客服了,然后当时他们就修了,后面漏洞就不认了,说是正常功能,泄露信息大概在几十万左右,泄露信息:个人姓名,身份证号,手机号,小区住址,邮箱等信息

大概逻辑就是:中间的一个API定义好后,前端的用户浏览需要调用部分数据,后端的商家版可能会调用全部数据,平台为了省事直接用了同一个API

这个大概是当时挖到比较快又比较严重的洞了,可惜激动的把等级给降级了,可怜的公益类型4库币


P3.APP-某票务购物平台多处SQL注入漏洞

没错,这还是一家上市公司,当然好像这走势凉了哈,跟闹着玩一样

然后这个公司的某业务WEB站点下,防御做的非常好,所有地方该加密的都加密了,确实手足无措

不过好在经过信息搜集找到了APP,但是没有用户注册通道,一时间犯了难

于是乎使用了魔法,找到了一些账号密码,然后登录成功,APP可以在模拟器运行,并且可以抓包,不用在逆向什么的了

1. 账号密码可爆破

首先就是登录页面,传参是GET方式传参,没有限制登录次数以及加密,有爆破风险

/api/xxx/xxx/key=xxx&uname=xxx&pwd=123456

2. 越权敏感信息遍历

api/xxx/xxx.php?key=xxx&uid=xxx

经过测试,key值必须存在,但非和用户有关,无绑定联系,只需按照顺序枚举uid即可越权浏览用户信息

遍历后可以获取到用户:手机号,地址,部门,注册时间,邮箱等,大概有几万个信息

3. 越权增删改查用户信息

首先先看用户个人信息修改页面,抓取到API

继续使用api添加一个不规则数据,添加成功,判断只有前端进行规则匹配验证,API没做过滤

我们修改一下其他人的信息,填写UID即可完成越权操作

其它增删查同理,也是抓取到相应的API即可完成

4. 数据交互接口存在SQL注入

sqlmap -u “xxx.com/api/xxx/xxx/key=1&uid=xxx” --batch --dbs

最后我们整理一下修复建议:

1.首先关于登录页面可暴力破解,建议对相关账号、IP等进行风控验证`  `对相关的账号与密码value进行前端加密
2.关于越权造成的信息泄露,建议以用户token进行鉴权,比如jwt、token等格式,给一个x分钟不操作退出账号等机制,其次可以给每个操作数据包加入sign,防止重放攻击
3.关于越权造成的增删改查,建议首先从账号进行判断,先解决越权漏洞问题,其次就是前端需要进行鉴别数据的真实性和危害性,哪怕是用正则表达式的方法
4.关于uid存在的SQL注入,因为前端传入参数需要拿uid去数据库查询的,使用的是MSSQL数据库,判断大概SQL语句如下
select * from user_tables where uid=$uid;
未进行任何过滤,被带入数据库造成的SQL注入,建议使用预编译的方式进行SQL语句查询,最好有黑名单字典,比如敏感关键字等

P4. 小程序-某电子商城小程序漏洞

一般情况下小程序是我们在挖掘企业漏洞时,在搜集资产的一部分,很少有专门去挖掘小程序漏洞的,因为小程序漏洞并不是很多,普遍的如下

1. 文件上传处-可能存在的任意文件上传漏洞
2. 2. 数据交互处可能存在的SQL注入
3. 3. 账户可能存在越权漏洞
4. 4. 登录接口存在KEY、IV等泄露造成的逆向越权
5. 5. 支付漏洞:0元购、替换订单号、替换支付单号等
6. 6. 通过反编译中前端源代码泄露的OSS及其它信息(现在不多了)
7. 7. 通过小程序抓包引起的API地址泄露及未授权访问

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

大概总的方向就这些(我遇到的漏洞就这些,当然也可能会有其它漏洞姿势)

这个是之前遇到的一个商城小程序漏洞,出现的支付漏洞,除了支付功能及接口在WEB站点没有,其它功能一样,除此之外,不同的是,小程序所有请求/响应包内容都被base64编码了

域名: target.custerm.com 开通会员功能,会员有专享福利

选好套餐以后,价格是四万九左右吧,对base64进行解码,把所有关于价格value改为0.01元,放包即可

当然,因为现在系统第二天或者晚上都有财务核算,后面给自动退款了,现在漏洞已经修复了


3 总结

最近确实比较忙,各位见谅

关于电子商城类的漏洞,在漏洞挖掘时主要侧重如下方面

对于代码审计-白盒白盒审计还是侧重owasp类型的漏洞,传统8大漏洞+API测试等,这个不用多说侧重说黑盒测试首先,我们知道它是商城系统,肯定以支付和商品为主所以在挖掘时,先去看有无支付漏洞、关于支付漏洞大家可以去多看文章其次就是有商品肯定有商家,关注是否存在商家信息泄露、越权的情况有商家肯定有商家系统后台,搜集信息能否进入商家系统后台或系统存在的漏洞有商家肯定有用户,看能不能达到越权漏洞:越权登录、越权信息泄露、订单号泄露、越权支付、XSS等商城系统主要功能是什么:是卖货,这个时候多注意SQL注入和文件上传的漏洞会出现在哪些地方?多注意支付接口,登录接口,商品接口,个人头像,商品图片上传等等一些在前端容易发现和容易测试的地方相对于其它漏洞,这两个还是比较容易挖的在用户方面,多注意爆破、短信类型漏洞、注册登录类漏洞现在大部分站点都使用vue+框架去建站了,多关注API类型漏洞,常出现swagger、springboot类等

有一些漏洞涉及到保密无法对外展示,其次现在挖洞审查越来越严格,在挖洞之前一定要获取授权,不然会喝茶的哦

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5992.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C#入门013 表达式,语句详解 2

语句的定义 在计算机编程中,一条语句(statement)是命令式编程语言中表达某个要执行的动作的最小独立组成部分。用这种语言编写的程序是由一个或多个语句组成的序列构成的。语句可以包含内部组件,比如表达式(expressio…

【运动的&足球】足球场景目标检测系统源码&数据集全套:改进yolo11-ASF-P2

改进yolo11-RetBlock等200全套创新点大全:足球场景目标检测系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.11.03 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或…

数据结构之复杂度

hello everybody,好久不见,由于前些日子在学习文件操作,预处理相关知识,导致我好些天没写博客了,所以我先从数据结构开始写吧,等后面熟练些了再补回来,欧克,话不多说,进入…

使用Jest进行JavaScript单元测试

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Jest进行JavaScript单元测试 引言 Jest 简介 安装 Jest 创建基本配置 编写测试用例 运行测试 快照测试 模拟函数 代码覆盖率…

Node.js 应用程序中的文件写入提升为 RCE

在这篇博文中,我们将强调代码安全基础的重要性。我们会展示一个技术案例:攻击者如何能够把 Node.js 应用中的文件写入漏洞转化为远程代码执行,即便目标系统的文件系统是以只读方式挂载的。这个技术通过利用暴露的管道文件描述符来获得代码执行能力,从而绕过了这类加固环境中的限…

Oracle视频基础1.4.5练习

1.4.5 看bbk的框架 ls env | grep ORA cd /u01/oradata ls ll cd bbk ll cd /u01/admin/ ll ll bbk cd cd db cd dbs ls vi initbbk.ora clear ls ll env | grep ORA执行创建数据库语句。 sqlplus /nolog conn /as sysdba create spfile from pfile ! ls ll exit startup nom…

Echats柱状图的横坐标用图片显示

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>图片作为横坐标示例 - ECharts</title><!-…

vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例

在vscode中&#xff0c;当我们安装了插件 PHP Debug&#xff08;xdebug.php-debug&#xff09;或者 xdebug.php-pack 后 我们通过内置默认的 php xdebug配置启动php项目后&#xff0c;默认情况下我们在vscode中设置断点是不会生效的&#xff0c;因为我们的内置php服务默认启动时…

城镇保障性住房管理:SpringBoot系统创新点

5系统详细实现 5.1 用户信息管理 管理员可以对用户信息进行添加&#xff0c;修改&#xff0c;删除操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.2 房屋类型管理 管理员可以对房屋类型信息进行添加&#xff0c;修改&#xff0c;删除操作。具体界面如图5.2所示…

积极助力信创工作,爱加密荣获麒麟系统优秀合作伙伴

近日&#xff0c;麒麟软件安全生态联盟2024年第三次工作会议顺利举行。麒麟软件安全生态联盟由工业和信息化部网络安全产业发展中心指导成立&#xff0c;旨在联合打造原创性、引领性的自主操作系统内生安全技术体系和自主创新安全生态。会上&#xff0c;麒麟软件相关领导为爱加…

用图说明 CPU、MCU、MPU、SoC 的区别

CPU CPU 负责执行构成计算机程序的指令&#xff0c;执行这些指令所指定的算术、逻辑、控制和输入/输出&#xff08;I/O&#xff09;操作。 MCU (microcontroller unit) 不同的 MCU 架构如下&#xff0c;注意这里的 MPU 表示 memory protection unit MPU (microprocessor un…

navicat pg库安装mysql fdw 外表扩展

在Windows上手动安装mysql_fdw&#xff08;MySQL Foreign Data Wrapper&#xff09;通常涉及一系列步骤&#xff0c;包括下载源码、编译、配置和测试。以下是一个详细的指南&#xff1a; 一、下载mysql_fdw源码 访问mysql_fdw的GitHub发布页面&#xff0c;选择最新版本的源码…

LongVU :Meta AI 的解锁长视频理解模型,利用自适应时空压缩技术彻底改变视频理解方式

Meta AI在视频理解方面取得了令人瞩目的里程碑式成就&#xff0c;推出了LongVU&#xff0c;这是一种开创性的模型&#xff0c;能够理解以前对人工智能系统来说具有挑战性的长视频。 研究论文 "LongVU&#xff1a;用于长视频语言理解的时空自适应压缩 "提出了一种革命…

Oracle OCP认证考试考点详解082系列09

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 41. 第41题&#xff1a; 题目 41.Examine the description of the EMPLOYEES table NLS_DATE_FORMAT is set to DD-MON-YY Which query…

【NOIP提高组】引水入城

【NOIP提高组】引水入城 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 在一个遥远的国度&#xff0c;一侧是风景秀美的湖泊&#xff0c;另一侧则是漫无边际的沙漠。该国的行政 区划十分特殊&#xff0c;刚好构成一个N行M列的矩形&#xff…

apache poi 实现下拉框联动校验

apache poi 提供了 DataValidation​ 接口 让我们可以轻松实现 Excel 下拉框数据局校验。但是下拉框联动校验是无法直接通过 DataValidation ​实现&#xff0c;所以我们可以通过其他方式间接实现。 ‍ 步骤如下&#xff1a; 创建一个隐藏 sheet private static void create…

盘点和嗨格式一样好用的10款数据恢复!!

亲爱的朋友们&#xff0c;相信大家都知道&#xff0c;一旦不小心删除了重要文件或者遇到了硬盘故障&#xff0c;心情简直如同坐过山车一般此起彼伏&#xff0c;那么这个时候就需要一款好的数据恢复工具来解救我们的数据危机。今天就来给大家推荐嗨格式数据恢复以及另外这10款我…

【Python】怎么创建一个新的conda环境,并在其中安装所需的软件包

最近在运行前同事留下的包的时候&#xff0c;遇到了numpy包和pandas包不匹配的问题&#xff0c;见前一篇&#xff1a; 屋漏偏逢连夜雨&#xff0c;今天打开spyder的时候&#xff0c;也没法运行spyder了。 于是&#xff0c;痛定思痛&#xff0c;打算换一个conda环境&#xff0…

通讯录(C 语言)

目录 一、通讯录设计思路1. 伪代码设计思路2. 代码设计思路 二、代码实现三、程序运行演示四、整体分析 一、通讯录设计思路 1. 伪代码设计思路 通讯录可以用来存储 100 个人的信息&#xff0c;每个人的信息包括&#xff1a;姓名、性别、年龄、电话、住址。 提供方法&#x…

海明码校验和纠错

1.计算1011海明码的校验位 根据公式nk<-1 &#xff08;n是信息码位数&#xff0c;1011就是4&#xff09; 则 k3 43<-1 由上可知校验码有3个 又因为 4 2 1 可以列出下列表格 7654321d3d2d1x2d0x1x01011 x0 x1 x2 分别为3个校验码的位置 又因为 7421 642 541…