如何进行授权的APK渗透测试

作为一个渗透测试小白,本文的目的是希望能为那些和我一样的小白提供一些测试思路。涉及的内容可能比较基础,表哥们见谅。APK 解包拿到 apk 之后直接用 7-Zip 解压可以得到几个文件夹、一个 AndroidManifest.xml 文件、一个dex文件。使用 dex2jar https://sourceforge.net/projects/dex2jar/ 将这个dex文件解压会生成一个jar文件,然后使用jd-gui就可以查看java源代码了。当然可以从源码里找代码的漏洞,但是一般会有混淆,在这也不做深入讨论。上边提到的 xml 文件一定不能发放过,里边涉及到许多重要的配置项,比如:- AndroidManifest.xml文件中android:debuggable为true。app 可被任意调试- AndroidManifest.xml文件中android: allowBackup为true。app 数据可以被备份导出。- 等等…还有一点在实际测试过程中可能会用到:在对 apk 解压之后可以尝试在 powershell 里边搜一下 db 文件,说不定有敏感信息(为什么这么说,因为我碰到过一次…)

for /r F:source-code %i in (*.db) do echo %i

apk安全分析检测:

实验:apk安全分析检测(合天网安实验室)

(通过实验学习如何运行apk安全分析检测程序,对apk进行安全分析检测,通过分析发现其中的潜在威胁。)

登陆页面用户名可枚举输入用户名之后响应用户名不存在,这就是最简单的枚举用户名的情形了。这次碰到的是登陆不需要密码,但是要输入已经注册过的用户名,之后会根据用户名发送验证码到对应手机,同时设置了 120s 内不能重新发送,并且验证码 120s 内有效。这时候看起来我们没办法通过验证码做什么事,但是在实际测试过程中发现1. 当我们输入存在的账号之后提示发送成功;2. 重复发送,会响应 120s 内不能重复发送;3. 输入不存在用户会提示发送失败。所以这个时间限制对用户名枚举其实没什么影响,我们可以通过爆破用户名根据返回的信息来查看用户名是否存在。

如何进行授权的APK渗透测试

等等,既然咱都不知道手机号,也不让输密码登陆,就算得到用户名生成社工字典也没法用啊,那拿到了用户名有什么用?当然有用,不过要看具体场景,比如下面这个案例任意验证码绕过当我们登陆时服务端给账号绑定的手机号发送短信验证码,我们输入一个上一步得到的账号,验证码随便输,点击登陆后抓包,登陆失败,发现响应中有两个 code 字段

如何进行授权的APK渗透测试

改改试试:

如何进行授权的APK渗透测试

It works!

验证码绕过漏洞:

实验:验证码绕过漏洞

(掌握常见的验证码绕过漏洞原理,以及绕过方式利用和漏洞防护)

功能页面成功登录之后,各个功能都点点看看,在个人信息页面有一个查询实时在线人数功能,那一栏只显示了人数,旁边并没有箭头

如何进行授权的APK渗透测试

我一度以为那里不能点击(事实上因为数据量太大,加载了好长时间,我直接点返回了,给我的感觉就是这里没有东西),进去之后就可以看到所有登陆人员的信息了。

如何进行授权的APK渗透测试

在我尝试了不同用户之后,发现这里的用户信息并没有权限限制,也就是说对所有人都是可见的,明显的权限配置不当。除此之外,应用存在几处查询功能,通过BURP 看到返回的数据包都是 JSON 类型

如何进行授权的APK渗透测试

因为没什么经验,所以就多尝试吗,在 json 那里注入,xxe 都来一遍,没啥用。前面还有一个参数,试试?

如何进行授权的APK渗透测试

有戏!

试试 xss 吧

如何进行授权的APK渗透测试

放到浏览器成功弹窗!

关于如何进行授权的APK渗透测试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文章标题:如何进行授权的APK渗透测试,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/26521

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云亿速云认证作者
上一篇 2022年9月18日 下午10:29
下一篇 2022年9月18日 下午10:30

相关推荐

  • windows ddu卡在清理注册表如何解决

    解决方法: 1、其实卡在清理注册表是因为win10系统版本不兼容导致的无法正常显示问题。 2、虽然软件没有提示清理成功,但是显卡驱动程序其实已经完成清理或卸载了。 3、所以大家不需要担心,卡在清理注册表一段时间后,直接关闭或推出软件即可。 4、如果我们不确定的话,可以打开“设备管理器” 5、然后在显…

    2022年9月20日
    21700
  • internet中怎么达到共享传输线路的目的

    internet中主要采用路由技术来达到共享传输线路的目的;路由技术主要是指路由选择算法、因特网的路由选择协议的特点及分类,其中路由选择算法可以分为静态路由选择算法和动态路由选择算法,因特网的路由选择协议的特点是属于自适应的选择协议,是分布式路由选择协议,采用分层次的路由选择协议。 本教程操作环境:…

    2022年8月30日
    15200
  • svchost.exe可不可以关掉

    “svchost.exe”可以关掉;“svchost.exe”是一个用于加载系统服务项或者dll模块用的一个系统进程,不需要的时候可以关闭,只需在任务管理器中找到“svchost.exe”进程,右键选择“转到服务”,之后右键停止服务即可。 本教程操作环境:windows7系统、DELL G3电脑。 …

    2022年9月2日
    52200
  • 如何进行Apache Commons Collections反序列化漏洞分析与复现

    1.1 状态 完成漏洞挖掘条件分析、漏洞复现。 1.2 漏洞分析 存在安全缺陷的版本:Apache Commons Collections3.2.1以下,【JDK版本:1.7.0_80】Apache Maven 3.6.3。 POC核心代码: package com.patrilic.vul;imp…

    2022年9月8日
    44000
  • windows deepl如何上传文件

    deepl上传文件的方法 1、点击进入网页端。 2、点击翻译.docx & .pptx文件 3、上传你要翻译的文档。 4、选择你的目标翻译语言。 5、翻译完成之后,点击下载就可以得到翻译好的文档啦。 到此,相信大家对“windows deepl如何上传文件”有了更深的了解,不妨来实际操作一番…

    2022年9月26日
    21700
  • 如何深度分析宽字节sql注入

    基本概念 宽字节是相对于ascII这样单字节而言的;像GB2312、GBK、GB18030、BIG5、Shift_JIS等这些都是常说的宽字节,实际上只有两字节 GBK是一种多字符的编码,通常来说,一个gbk编码汉字,占用2个字节。一个utf-8编码的汉字,占用3个字节 转义函数:为了过滤用户输入的…

    2022年9月21日
    34200
  • Codeql如何分析cookie未启用httponly的问题

    序 今天我们利用codeql分析下“cookie未启用httponly“这类的安全问题,由此加深自己对codeql的使用。如果反应好的话,可以考虑把Vulnerability-goapp的其他漏洞也弄一弄。 分析go程序时必须额外下载codeql-go 说明 审计对象 Vulnerability-g…

    2022年9月15日
    18900
  • 如何搭建zabbix监控及邮件报警

    一、zabbix 1.1 简介 zabbix 是一款开源的功能强大的分布式监控系统,一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。 zab…

    2022年9月18日
    33100
  • BitTorrent是什么

    什么是bt 互联网上新兴的P2P传输协议,全名叫”BitTorrent”,中文全称:”比特流”。BT是下载不需要文件发布者有很高的处理速度和带宽就能顺利发布文件的一种传输协议。 和点对点(point-to-point)的协议程序不同,它是用户群对用户群…

    2022年9月8日
    32900
  • MySQL的基础架构和日志系统实例分析

    一、MySQL基础架构 MySQL可以分为Server层和存储引擎层两部分 Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等 存储引…

    2022年9月16日
    25400
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部