如何进行授权的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 KB4525245安装失败怎么解决

    根据情况可能不同,小编准备了五种解决方案 名列前茅种方案: 1.查看【windows update】、【app readiness】、【Cryptographic Services】、【Background Intelligent Transfer Service】、【Windows Install…

    2022年9月1日
    62300
  • 电脑蓝屏代码0xc000000d如何修复

    蓝屏代码0xc000000d修复方法: 问题分析: 1、首先,如果我们突然断点关机或关机前出现卡顿,都可能造成磁盘受损,引发问题。 2、当我们使用电脑,比如:玩游戏、看视频、操作大的东西、使用电脑时间长或着是下载了不合适的东西都会出现这个问题。 PS:如果是这个问题引起的,只要注意自己的电脑不卡机、…

    2022年9月16日
    1.1K00
  • windows会声会影x5如何导出视频

    会声会影x5导出视频的方法 1、我们可以在界面的左上角或者上方找到“分享”按钮,点击它。 2、然后选择想要导出的方式,一般我们选择“创建视频文件”。 3、然后我们点击如图“创建视频文件”可以选择视频的格式。 4、这里我们选择mp4格式(大家可以根据需要自行选择),然后还可以选择更细致的格式。 5、选…

    2022年9月15日
    51700
  • SQL中的开窗函数是什么

    OVER的定义 OVER用于为行定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。 OVER的语法 OVER ( [ PARTITION BY column ] [ ORDER BY culumn ] ) PARTITION B…

    2022年9月2日
    1.1K00
  • word页面变成左右两页怎么调回来

    调回来的方法: 1、首先打开word,然后点击顶部“视图”。 2、此时你可以看到单页选项,然后点击菜单中的“单页”。 3、此时就可以看到页面已经恢复正常了。 4、你也可以在变左右两页时,把右下角的显示比例调成100%来恢复正常。 以上就是“word页面变成左右两页怎么调回来”这篇文章的所有内容,感谢…

    2022年9月19日
    3.9K00
  • 怎么用vlookup函数完成图书名称自动填充

    vlookup函数完成图书名称自动填充的方法 名列前茅步,在需要填充的位置输入“=vlookup()” 第二步,选中你依据的查找项目,这里我们选择“图书编号” 第三步,进入编号对照表格,框选需要查找的区域,这里我们选择图书编号和图书名称这两栏。 第四步,查看需要填充的内容列数,这里是2就输入2。 第…

    2022年9月22日
    96100
  • python如何找到列表中出现最频繁的数

    找到列表中出现最频繁的数 test= [1,2,3,4,2,2,3,1,4,4,4]print(max(set(test),key=test.count))#-> 4 python有哪些常用库 python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted…

    2022年8月30日
    34200
  • Android三方依赖冲突Gradle中exclude如何使用

    一、场景 Android项目的开发过程中,我们项目中的gradle的dependencies闭包中会引入很多三方依赖库,引入的库越多,越容易产生库之间的依赖冲突。 列举冲突的场景: 1、同一个依赖库引入多个版本; 2、重复引入了同一个依赖库; 编译报错信息一般为:Program type alrea…

    2022年9月13日
    3.9K00
  • Mysql中的Enum数据类型实例分析

    Mysql中的enum类型就是我们常说的枚举类型,它的取值范围需要在创建表时通过枚举方式(一个个的列出来)显式指定。对1至255个成员的枚举需要1个字节存储;对于255至65535个成员,需要2个字节存储。非常多允许有65535个成员。 enum底层存的是十进制整数,严格按顺序1,2,3,4,5…排…

    2022年9月13日
    87800
  • windows任务管理器被系统管理员停用怎么解决

    任务管理器被管理员停用的恢复方法 1、快捷键Win+R,输入gpedit.msc,回车。 2、依次展开“用户配置–>管理模板–>系统–>Ctrl+Alt+Del选项”,在右侧双击“删除任务管理器” 3、然后在“设置”选项卡中选择未配置或者已禁用选…

    2022年9月6日
    66800
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部