0x01 前言
电子商城购物系统我们每天都能接触到,现在的商城系统,大多数已经在小程序、APP方向去开发了,因为灵活,方便管理且开发难度不高,当然,现在WEB系统还很多,我们本次会选几个SRC去浅挖一下那些电子商城系统存在的漏洞,黑盒占多数,其中有某电子商城白盒测试(历史漏洞),当然,在黑盒测试中,逻辑漏洞占大多数,像我们之前说过的:命令执行和代码执行这种漏洞,基本上只能去靠审代码,因为需要拼接参数,可能少一个参数甚至一个符号都RCE失败,文件上传和SQL注入可能还能浅试一下
* 本文章仅供学习参考,完全仿真环境复现,禁止非法攻击,后果自负
* 如您认为文章有用,麻烦点个关注点赞并转发共同学习
0x02 漏洞挖掘
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
跟进