前言
本系列为【炼石计划@Java代码审计】知识星球实战50套开源系统删减版,也就是每一套分享部分内容给大家学习。
文末获取配套练习环境、学习规划路线
进入正题
一、项目简介
迷你天猫商城是一个基于Spring Boot的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确认收货,评价等一系列操作。作为迷你天猫商城的核心组成部分之一,天猫数据管理后台包含商品管理,订单管理,类别管理,用户管理和交易额统计等模块,实现了对整个商城的一站式管理和维护。
二、项目搭建
1、环境要求
1、Windows 10
系统。
2、Java版本为1.8.0_261
。
3、Mysql版本为5.7
。我用的是PHPstudy集成的。
4、IDEA版本随意。
2、项目部署流程
①、命令行进入Mysql后,创建数据库名为tmalldemodb
,并切换使用该数据库,如下图所示:
②、将项目文件中的/sqls/tmalldemodb.sql
的数据导入到tmalldemodb
数据库,注意导入路径中应使用正斜杠/
,如下图所示:
③、使用IDEA打开本项目,等待Maven自动加载依赖项,如果时间较长需要自行配置Maven加速源。几个现象表明项目部署成功。pom.xml
文件无报错,项目代码已编译为class
,Run/Debug Configurations...
处显示可以运行。如下图所示:
④、修改src/main/resouces/application.properties
配置文件内容,具体如下图所示:
⑤、点击启动Run/Debug Configurations...
本项目,启动成功如下图所示:
⑥、项目访问地址如下:
-
前台地址:
http://127.0.0.1:8088/tmall
-
后台地址:
http://127.0.0.1:8088/tmall/admin
本项目Github地址:
https://gitee.com/project_team/Tmall_demo
三、代码审计漏洞挖掘
1、第三方组件漏洞审计
本项目是基于Maven构建的。对于Maven项目,我们首先从pom.xml
文件开始审计引入的第三方组件是否存在漏洞版本,然后进一步验证该组件是否存在漏洞点。
本项目引入的组件以及组件版本整理如下。
组件名称 | 组件版本 |
---|---|
SpringBoot | 2.1.6.RELEASE |
Fastjson | 1.2.58 |
Mysql | 5.1.47 |
Druid | 1.1.19 |
Taglibs | 1.2.5 |
Mybatis | 3.5.1 |
Log4j | 2.10.0 |
整理完成后,如何确定该组件版本存在漏洞?最简单的方法无疑于从搜索引擎进行搜索,比如关键字:Fastjson 漏洞
。进一步可从组件官网,CVE,CNVD,CNNVD等网站查询。
先把环境搭建好,下节我们进入代码审计阶段
等不及的话,可以先从哔哩哔哩看视频版
https://www.bilibili.com/video/BV1GF411V7XG?spm_id_from=333.999.0.0&vd_source=971864fe9c793c869a390c8f5080dbcb
环境领取
欢迎点击下方链接获取配套练习环境。
【备注,后台回复关键字前八套环境
即可获取不限速下载链接】
炼石计划@Java代码审计
第一阶段即将分享完毕,现在跟着学习刚刚好。待第一阶段分享完毕后,第二阶段与后面实战阶段穿插分享。并且着手录制视频课程!”
讲讲这几个阶段更新方向吧。
“目录内容只增不减,创作分享正按部就班进行中,会根据实际情况随时作出调整。”
【第一阶段】:Java代码审计之基础知识篇
【第二阶段】:Java代码审计之Web漏洞篇
【第三阶段】:Java代码审计之实战25套JavaWeb系统
【第四阶段】:Java代码审计之历史漏洞分析篇
【第五阶段】:ysoserial调用链代码审计分析和调试篇
【第六阶段】:CodeQL基础学习与实战
详情看上一篇文章:
【Java代码审计】我的Java代码审计学习路线规划,非常适合小白的学习计划
赶紧加入我们吧,犹豫不决也没关系。
觉得还不错欢迎随时加入,但千万别错过优惠价哦~
原文始发于微信公众号(哈拉少安全小队):【JavaWeb代码审计实战】某商城系统(一)环境搭建与第三方组件漏洞审计
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论