基础安卓

001-基础入门-蓝图

知识点

1、Web常规-系统&中间件&数据库&源码等
2、Web其他-前后端&软件&Docker&分配站等
3、Web拓展-CDN&WAF&OSS&反向&负载均衡等


1、APP架构-封装&原生态&H5&flutter等
2、小程序架构-Web&H5&JS&VUE框架等

章节点

应用架构:Web/APP/云应用/小程序/负载均衡等
安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等
渗透命令:文件上传下载/端口服务/Shell反弹等
抓包技术:HTTP/TCP/UDP/ICMP/DNS/封包/代理等
算法加密:数据编码/密码算法/密码保护/反编译/加壳等

APP应用开发架构

1、原生开发
安卓一般使用java语言开发,当然现在也有kotlin语言进行开发。如何开发就涉及到具体编程了,这里就不详说了。
简单描述就是使用安卓提供的一系列控件来实现页面,复杂点的页面可以通过自定义控件来实现。

2、使用H5语言开发
使用H5开发的好处有很多,可多端复用,比如浏览器端,ios端,当然H5开发的体验是没有原生好的。
结合我做过的项目来说,一般是这个页面需要分享出去的话,就用H5开发。

3、使用flutter开发
flutter是近年来谷歌推出的一款UI框架,使用dart语言进行开发,支持跨平台,weight渲染直接操作硬件层,体验可媲美原生。
但是flutter技术比较新,生态还不完善,开发起来效率相对偏低。

4、常规Web开发
Web App软件开发简单地说,就是开发一个网站,然后加入app的壳。
Web App一般非常小,内容都是app内的网页展示,受制于网页技术本身,可实现功能少,而且每次打开,几乎所有的内容都需要重新加载。
所以反应速度慢,内容加载过多就容易卡死,用户体验差,而且app内的交互设计等非常有效。但开发周期长端,需要的技术人员少,成本低。

APP应用

判断app原生态还是web封装:

  • 凭经验,没有工具直接分析。界面美观程度,功能按钮,显示正常不正常等等。
  • 反编译看源码

APP-开发架构-原生态-IDEA

演示:remusic项目源码
说明:

  • 一点一点设计的,不是网页转app的那一套。
  • 成套源码设计,app主导是java,成本高+最难
  • 用户体验好,符合手机。

安全影响:

  • 反编译
    • 提取源码
    • 提取源码当中的资产
    • 提取资产进行常规测试
    • 反编译看协议
    • 看的是写到的资产
  • 抓包
    • 抓数据包提取资产
    • 资产类型常规测试
  • 逆向的角度去(反编译)分析逻辑设计安全(多)

APP-开发架构–Web封装-封装平台

演示:ShopXO源码程序+一门APP打包
说明:

  • web页面封装进入app,本质上还是web页面。
  • 用户体验差,有些不符合手机观感。

安全影响:常规Web安全测试

APP-开发架构-H5&Vue-HBuilderX

演示:HBuilderX案例
说明:相对于web封装,换了一种实现的语言。
安全影响:

  • API-接口安全
  • JS框架安全问题
  • JS前端测试

APP逆向和APP安全

APP逆向侧重点在代码层面,而APP安全测试在资产层面。

小程序应用

WX小程序-开发架构-Web封装-平台

演示:ShopXO源码程序+一门APP打包
搭建:HBuilderX
安全影响:常规Web安全测试

WX小程序-开发架构-H5&Vue-HBuilderX

演示:HBuilderX案例
安全影响:API&JS框架安全问题&JS前端测试