声明

本文章所分享内容仅用于网络安全相关的技术讨论和学习,注意,切勿用于违法途径,所有渗透测试都需要获取授权,违者后果自行承担,与本文章及作者无关,请谨记守法。

前言

某众测项目,以弱口令为入口获取管理员账号再发现另一个小程序(客户端)任意用户登录到未授权+越权获取所有用户敏感信息,以及后续多个接口SQL注入漏洞,全是漏洞,没有安全。

弱口令

某小程序,此小程序分为服务端和客户端,这是服务端。

访问很明显是需要认证的,而且不能进行注册和手机号验证码登录,功能点也很少,只有账号密码登录,没有什么忘记密码功能点啥的,不过这里是可以发现账号为手机号的。

直接随意输入手机号进行抓包,提示账号密码错误,这里其实没啥好说的,就是爆破就完啦。

拿出祖传字典,没啥问题,爆破出来187xxxx的手机号,密码为123456

直接登录,发现此手机账号为管理员用户,可以获取小区的所有用户

任意点击一个可以发现存在姓名,手机号,住宅地址信息,并且可以对住户进行更改用户信息,比如增加积分,兑换礼品,权限很高。

而且可以切换小区,获取所有其他小区用户信息,初步判断泄漏信息有2W户。

SQL注入1

反编译小程序,发现多个接口

这里通过对小程序功能点进行随意点击,发现存在search接口,存在query参数,单引号直接报错

这里没啥说的,丢给AI直接通过报错注入获取到了数据库用户名

这里通过sqlmap工具也可以注入出来,应该是没有做任何过滤措施。

SQL注入2

这里还发现xxx/xxcycle接口也存在sql注入,同样的报错方式

直接只用上面的payload更改为注入数据库名,很快就回显出来,数据库为xxxge,没有什么难度

除此之外还有基本上存在输入查询的地方都存在sql注入,没有任何过滤措施。

任意用户登录

这里还发现另一个小程序,客户端

这个访问发现需要输入卡号和手机号进行登录,而且猜测是没有下一步验证的,其实可以爆破手机号可进行任意账号登录,但是通过祖传字典没有爆破出来,因此猜测可能没有测试用户啥的,爆破正常手机号太耗时间,没有必要

不过呢,上述已经拿下了管理员的服务端账号权限,里面很多的住户信息,这里随便拿一个手机号进行登录,也是直接成功,说明此处存在任意账号登录

未授权+越权

客户端小程序反编译,发现xxx/info接口

这个小程序做的很简单,功能点也不是很复杂,直接分析js发现接口为POST请求,且参数为json格式的id值

直接任意输入一个数字,成功获取到越权获取到用户信息,并且发现id值是有序的,这就有点意思啦

而且通过测试,id值从63999之前都存在,并且通过测试是发现请求头中没有token等认真字段信息,说明此处还是一个未授权访问。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐