作为一个渗透测试小白,本文的目的是希望能为那些和我一样的小白提供一些测试思路。

涉及的内容可能比较基础,表哥们见谅。

APK 解包

拿到 apk 之后直接用 7-Zip 解压可以得到几个文件夹、一个 AndroidManifest.xml 文件、一个dex文件。使用 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进行安全分析检测,通过分析发现其中的潜在威胁。)

登陆页面

用户名可枚举

输入用户名之后响应用户名不存在,这就是最简单的枚举用户名的情形了。

这次碰到的是登陆不需要密码,但是要输入已经注册过的用户名,之后会根据用户名发送验证码到对应手机,同时设置了 120s 内不能重新发送,并且验证码 120s 内有效。

这时候看起来我们没办法通过验证码做什么事,但是在实际测试过程中发现

  • 当我们输入存在的账号之后提示发送成功;
  • 重复发送,会响应 120s 内不能重复发送;
  • 输入不存在用户会提示发送失败。

所以这个时间限制对用户名枚举其实没什么影响,我们可以通过爆破用户名根据返回的信息来查看用户名是否存在。

等等,既然咱都不知道手机号,也不让输密码登陆,就算得到用户名生成社工字典也没法用啊,那拿到了用户名有什么用?

当然有用,不过要看具体场景,比如下面这个案例

任意验证码绕过

当我们登陆时服务端给账号绑定的手机号发送短信验证码,我们输入一个上一步得到的账号,验证码随便输,点击登陆后抓包,登陆失败,发现响应中有两个 code 字段

改改试试:

It works!

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

功能页面

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

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

在我尝试了不同用户之后,发现这里的用户信息并没有权限限制,也就是说对所有人都是可见的,明显的权限配置不当。

除此之外,应用存在几处查询功能,通过BURP 看到返回的数据包都是 JSON 类型

因为没什么经验,所以就多尝试吗,在 json 那里注入,xxe 都来一遍,没啥用。

前面还有一个参数,试试?

有戏!试试 xss 吧

放到浏览器成功弹窗!

实验推荐:XSS跨站脚本攻击原理与实践(本实验将详细介绍XSS攻击的原理)

总结

平时做测试还是要细心,多总结,每一个能输入的地方都不能放过,多试试总是好的。

记一次授权的APK渗透测试相关推荐

  1. 记一次对学校的渗透测试

    前言: 此次渗透测试较为基础,有很多不足的地方,希望各位大佬能够指正 首先打开学校的官网:http://www.xxxx.edu.cn 嗯,直接干... 这里直接进行子站查找,一般主站不会让你打进去的 ...

  2. 记一次靶场搭建与渗透测试

    渗透目标 通过Windows7打入工作组环境,穿透两层内网拿到DC(域控制器)权限 环境搭建 环境搭建 网络拓扑 虚拟机网络配置 渗透测试 永恒之蓝外网打点 nmap -sS 192.168.2.0/ ...

  3. 记一次docker虚拟机横向移动渗透测试

    本次渗透在几个docker虚拟机间多次横向移动,最终找到了一个可以进行docker逃逸的出口,拿下服务器.渗透过程曲折但充满了乐趣,入口是172.17.0.6的docker虚拟机,然后一路横向移动,最 ...

  4. uniapph5授权成功后返回上一页_记一次授权系统的安全测试

    山东泽鹿安全 威胁管理   漏洞运营   应急响应 原创声明:泽鹿安全原创文章,欢迎转载,请注明出处! ID : 秋水 拿到授权系统IP,首先测一下目录找后台,Nmap扫一下端口,看看后台是不是在其他 ...

  5. APP应用渗透测试思路

    今天继续给大家介绍渗透测试相关知识,本文主要内容是APP应用渗透测试思路. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授 ...

  6. MSF渗透测试android手机

    今天继续给大家介绍渗透测试相关知识,本文主要内容是MSF渗透测试android手机. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调: ...

  7. 渗透测试流程(基础理论)

    当时考nisp二级时所学的理论,记录下来复习使用. 渗透测试流程 1.专用术语介绍 ​ 1.脚本(asp.php.jsp) ​ 2.html (css.js.html) ​ 3.HTTP协议 ​ 4. ...

  8. Linux无文件木马程序渗透测试复现

    今天继续给大家介绍渗透测试相关知识,本文主要内容是Linux无文件木马程序渗透测试复现. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强 ...

  9. 记一次对某企业的渗透测试实战

    作者:Vulkey_Chen 前言 本文总结一下漫长的渗透测试过程,想尽了各种方法,终于找到了突破口.so没有绝对的安全,所谓的安全性其实都是相对的- 信息踩点 在这里其实没办法去做一些有价值的收集, ...

最新文章

  1. 在线python编程编译器-python在线编译器的简单原理及简单实现代码
  2. MySQL索引使用方法和性能优化
  3. mysql中timestamp类型数据查找中出现的问题
  4. boost::mpi::cartesian_topology相关用法的测试程序
  5. git 命令操作总结
  6. pycharm打包.py程序为可执行文件exe
  7. input子系统基础之按键1——什么是input子系统?
  8. c++输出txt格式循环一组数据后换行再循环一次_numpy、pandas以及用pandas做数据分析的案例...
  9. The Process class relies on proc_open, which is not available on your PHP installation.
  10. check whether edge in face indices.
  11. java static 变量存在哪_Java中的静态方法和静态变量存储在哪里?
  12. wegame安装包文件MD5校验失败解决方案
  13. NVIDIA显卡驱动程序更新失败解决记录
  14. C++ 解决经典哥尼斯堡七桥问题
  15. CC2530F256RHAR 射频芯片 无线收发器芯片 ZigBee 解决方案
  16. 【电力电子技术DC-DC】Boost升压式变换器Simulink仿真
  17. 墨卡托坐标转GPS坐标
  18. sqlserver设置身份验证登录
  19. Python基础(三)Python容器:列表、元组、字典和集合
  20. 主成分回归之后预测_主成分回归解析.ppt

热门文章

  1. kepware rest服务器_KEPServerEX
  2. Windows Workflow Foundation(一)
  3. 混合云市场现状与发展趋势研究
  4. JS手写上传文件、React手写上传文件
  5. Order By 排序
  6. x射线管的kV、mA、mAs
  7. 任正非讲话稿400篇_2021国家公务员考试笔试考情分析【申论篇】
  8. 图的可视化问题、havel-hakimi算法、Erdős–Gallai定理
  9. Call From hadoop102/192.168.10.102 to hadoop102:8020 failed on connection exception: java.net.Connec
  10. 解决window聚焦图片不自动更新,没有“喜欢么”信息提示框问题