0x01 前言

测某一APP时,根据信息收集+测试,发现APP的后台系统存在SQL注入、XSS、弱口令、信息泄漏等漏洞,此APP本身存在逻辑漏洞与SQL注入漏洞,再通过观察酷传搜索的结果发现此APP开发商开发了三十几个APP,猜测可能存在相同类型的漏洞,经测试猜测被证实,可以刷一波积分。

此文仅作为学习记录,仅提供思路,所述漏洞均已提交并修复。

0x02 第一个APP

手法依旧是从豌豆荚下载APP,再通过酷传查看下载量、开发商,再上企查查看注册资资本,超过5000个w,就能去cnvd碰碰运气混个证书。

1670214039_638d719720592c6eb174f.png!small?1670214039591


1000个w,证书看来是无望了,那就刷积分攒经验吧。

1670214052_638d71a49c38e194dcb49.png!small?1670214053097


AppInfoScan收集资产,找出几条有用的资产,做记号后挨个测试。

1670214063_638d71af5578791f7ed58.png!small?1670214064779

漏洞一:信息泄漏

打开链接直接是个报错页面,暴露ThinkPHP版本信息与网站绝对路径,用工具扫,未发现历史版本漏洞。虽然CNVD不收,但也算是个漏洞,可以为之后的挖掘提供帮助。

1670214079_638d71bf79486f6794328.png!small?1670214080036

漏洞二:后台系统存在SQL注入漏洞

打开资产表中的链接,其实未打开前就在想“链接后方有参数,可能存在SQL注入”,打开之后看到页面的报错信息毫不犹豫的上SQLmap,果然存在注入。系统使用MySQL数据库、Apache。

1670214089_638d71c9dd23ac6d079ce.png!small?1670214090678

1670214097_638d71d19e163355afa0c.png!small?1670214098286

在上级目录页面【电话统计】处也存在SQL注入。

1670214108_638d71dc01388ac7030c2.png!small?1670214108596

1670214114_638d71e29ed94dff81310.png!small?16702141157691670214120_638d71e8b865054ea8662.png!small?1670214122018

漏洞三:APP后台管理系统弱口令漏洞

根据漏洞二的链接,向上一级一级访问获得APP管理系统的某个页面,在这个页面点击【登录后台】,跳转至后台登录页面。页面下方的【设计师】、【框架整理】暴露了与登录用户相关的信息,在未登录的情况下点击【账户管理】,可直接查看到超级管理员、普通管理员和高级管理员的登录名。

1670214136_638d71f807a4462700756.png!small?1670214136869

1670214143_638d71ffe02a42512d308.png!small?1670214144296

根据【账户管理】暴露的用户名猜出超级管理员的密码,登录后可获取大量用户的电话、地址、IP等信息。

1670214156_638d720c117fbb51216db.png!small?1670214156528

1670214159_638d720fe71da506a41b8.png!small?1670214161438

漏洞四:APP后台管理系统存储型XSS漏洞

登录后台系统,在菜单栏某个模块的【添加】功能处,添加Payload:<script>alert(1)</script>,触发存储型XSS漏洞,此处未做任何输入输出过滤。

1670214169_638d72199cdcfe7183f02.png!small?1670214170216

1670214174_638d721e7753b9add67c1.png!small?1670214175126

漏洞五:APP存在逻辑处理漏洞

安卓手机下载此APP。注册用户,随意填写手机号等注册信息。

1670214182_638d72268ee05a4f0600f.png!small?1670214182947

截取发送短信的数据包,短信验证码在返回包中明文显示。

1670214189_638d722d025387e367960.png!small?1670214189698

使用刚注册的手机号进行登录,登录成功。

1670214196_638d7234bb6400374769f.png!small?1670214197179

漏洞六:APP搜索框存在SQL注入漏洞

看到搜索框第一反应就是SQL注入、XSS,先抓取搜索框的数据包看看。

1670214251_638d726bb4786309e5bb5.png!small?1670214252355

GET请求数据包,直接用BurpSuite的SQLMap插件跑一跑。

1670214261_638d72754f0f7f618f751.png!small?1670214262386

布尔盲注,注出数据库为MySQL、框架为ThinkPHP。

1670214266_638d727aa8471c12b5132.png!small?1670214268416

0x03 其他APP

在酷传上搜索这款APP时发现,列出了很多与这款APP包名类似的APP,仔细观察并打开多个APP,开发商都为同一家公司,而且APP类型都一样,只不过有普通用户、某些角色不同、以及地区城市不同。

1670214317_638d72adc8ab87e1e4f03.png!small?1670214318204

1670214323_638d72b3432c0f5cb85a0.png!small?1670214324866

随意打开一个,查看【同开发商应用】,发现共有34款APP,既然有这么多款而且刚才又发现其中一款存在逻辑处理漏洞、SQL注入漏洞,不妨试试其他APP是否也存在相同漏洞。

1670214332_638d72bccd057806b7799.png!small?1670214333235

例1:某APP存在SQL注入漏洞

打开APP,点击【首页】➡【XXXXX APP】,进入【XXXX详情】页面,截取此请求数据包。

1670214341_638d72c536bab67d533d6.png!small?1670214342785

GET请求数据包,使用SQLMap测试,存在SQL注入漏洞。

1670214350_638d72cee7a4c7b5564ab.png!small?1670214351386

1670214356_638d72d40f12f4228ef78.png!small?1670214356616

例子2:某APP存在逻辑处理漏洞

打开APP,进入用户注册页面,输入手机号、密码,点击【获取验证码】,3秒后验证码会自动显示在页面中,点击【立即注册】,注册登录成功。

1670214366_638d72de541c651409ae0.png!small?1670214366956

0x04 结语

其他剩余的30几个APP基本上都存在SQL注入漏洞与逻辑处理漏洞,只是有点细微的区别。比如,注入点随着APP功能不同而不同,多观察也可以找到。这类APP的逻辑处理漏洞在于返回包中明文显示验证码、或者验证码直接回显到APP验证码填写处,也不难发现。

漏洞的挖掘未必有多难,胜在细致入微的观察。

本文作者:池羽, 转自FreeBuf