APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

admin 2022年11月19日15:43:39移动安全评论13 views2290字阅读7分38秒阅读模式

过完阴雨绵绵的十一国庆,才知道自己有APP漏洞挖掘任务,10月就剩下18个工作日,除去做项目、一些其他的工作,挖洞的时间只剩一周多,看来又要熬夜了,任务艰巨呐~

从开始的迷茫、啥思路也没有,甚至两三天从早挖到晚一点收获都没有,到后面不断看网上的文章、实践总结,借助神器和运气某天能挖到六七个漏洞,晚上做梦都在想挖洞挖洞,睡眠不足白天也精神抖擞的,也算是获得了些APP漏洞挖掘的经验吧。后续勤奋的话可能会陆续输出一些APP漏洞挖掘的实战文章、经验总结文章。

话不多说,正题开始。

先看看这个APP的下载量:1014408,距离上个月挖这个APP时又多了2000的下载,下载量还是不小的。最开始也只是敢挖一些下载量几百的APP,后面发现下载量跟有无漏洞其实没有太大关联。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


顺手查了注册资本561万,算是比较少的。其实有无漏洞,漏洞量多少,跟注册资本也不一定有绝对的关联。只能告诉我这个洞CNVD、SRC肯定不收...

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

收集资产

  1. 豌豆荚下载app,使用AppInfoScanner收集资产。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


  1. 输出资产表,就可以通过表中内容查找相关资产的漏洞了。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


  1. 指纹查询

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


漏洞挖掘

漏洞一:Webapp处存在SQL注入漏洞

漏洞点一:https://wxapi.某.com/Webapp/video.html?aid=,域名与APP包名一致,且页面下方指示的APP也是测试的APP,所以肯定属于某APP的资产。地址有参数,猜想可能有注入。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


抓包,挂上代理,放到sqlmap中跑。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


果然存在注入,这是第一个注入点。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


上个月测试这款APP的时候着急完成任务,没有找到这个SQL注入,当时注的是左边的GET请求。这次写这篇文章,才又发现了这个注入点,所以测试的时候尽量仔细些,减少遗漏。(这就去CAPPVD提交上,温故而知新,古人诚不欺我)。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

漏洞二:会员中心存在DOM型XSS漏洞

漏洞点二:https://wxapi.某.com/Webapp/Get-vip-test.html?username=,该APP的会员中心。BP中装了很多漏洞插件,抓包的时候会自动进行测试。这个漏洞也是在写文章的时候发现的,看到域名有username参数本来想测试SQL注入的,但刚才的SQL注入也出自Webapp这个路径,就算了。然后就看到BP的Dashboard有个高危,插入payload测试,漏洞就这么被发现了。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

以上呢,AppInfoScanner输出的域名就挨个筛查完了,其实还找到了后台,用的齐博CMS,存在admin用户但是没有爆破出密码,也没找到别的漏洞点,就暂时放弃了这块。

接下来就要从APP本身入手了,苹果手机可能会存在抓不到包、证书等问题,难度较大,先从安卓下手。我使用的是豌豆荚,从豌豆荚上下载APP,设置好代理,调试网络确保BP能顺利抓包。BP抓取的手机数据包会有大量的非测试APP数据包,注意甄别就好。

漏洞三:APP头像上传处存在文件上传漏洞,可GetShell

打开头像上传,抓取数据包。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

先上传一张正常图片,看返回结果是什么,是否显示上传后的路径,并能试验是否能访问到。如下图所示,上传功能正常,且返回上传后的路径。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


但是浏览器中无法访问到。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


再仔细查看截取的数据包,在路径前加上/zy就可以正常访问。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


接下来测试是否能正常解析,文件上传phpinfo()。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


可正常访问,显示详细的phpinfo()信息。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


直接上传一句话木马。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


访问,成功解析。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


蚁剑连接成功。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


权限为apache。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

漏洞四:APP首页搜索框存在SQL注入

随意输入数据,点击搜索,截取搜索框数据包。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


使用Sqlmap进行测试

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


注入点为key参数。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

漏洞五:APP用户登录处存在SQL注入漏洞

截取用户登录处数据包。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


直接使用BP插件发送到sqlmap进行注入。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


注入点为username参数。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


总结归纳

一个APP可能存在多个漏洞,能发掘多少取决于技术能力和细心程度。

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

这几次的挖掘AppInfoScanner功不可没,这款工具很早就从Tide安全攻防的知识星球中下载过,也经常看星球里大佬们分享过的相关文章、工具、新思路,但一直没有实践过,这次就好好用用它。

刚开始的两三天毫无头绪的在豌豆荚中下载了十几个APP,一个一个安装、注册、测试,颗粒无收,想了想不能这么干,这样干下去25个洞猴年马月才能挖到。于是翻开工具包,找到AppInfoScanner,搜了一两篇文章了解用法之后就开始改变思路。

首先APP是随机选择的,不看下载量,不看注册资本,当然,淘宝、京东、微信这种的不在选择范围内哈。下载好apk丢到AppInfoScanner跑。跑出来的结果有只有几条域名的、有空文件、也有扫出几百条相关或不相关域名信息的,挨个挨个排查筛选,相关的都点开看看,测测web接口、爆破敏感路径、找后台、弱口令、SQL注入、XSS、命令执行、其他端口存在的漏洞等等,觉得有可能的点都去试。

资产表测完,才开始在手机上下载APP,先测试用户注册的地方,是否能爆破验证码、是否有短信轰炸、验证码是否明文显示在返回包中、验证码是否失效。登录后找找注入点、文件上传、任意文件下载,抓包修改参数看是否有越权、是否能查看他人信息等等,web方面的漏洞点都可以在APP上试。

这篇文章写了如何在一个APP中挖掘多个漏洞,下回写一写上个月挖到的同一开发商开发的APP存在的通用漏洞。敬请期待~




关 注 有 礼



欢迎关注公众号:网络安全者

后台回复:20221119

获取每日抽奖送书

       

本文内容来自网络,如有侵权请联系删除

APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?


原文始发于微信公众号(网络安全者):APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell?

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月19日15:43:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  APP漏洞挖掘(一)某下载量超101万的APP有几个漏洞可以GetShell? http://cn-sec.com/archives/1417715.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: