前言
电子商城购物系统我们每天都能接触到,现在的商城系统,大多数已经在小程序、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,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~