单机app 逆向 二进制 (脱壳 apk解包 Java逆向 加解密)
联网app 存在一个后端服务器 app需要从服务器中获取资源
c/s架构 客户端+服务端 c/c++ c# java
b/s架构 浏览器 +服务器 借助js实现一些功能 js不允许操作本地文件
客户端不同
c/s架构具有更高的可控性 客户端和服务器端的通讯 可能不是基于http协议 tcp协议 ,自己的通讯协议
app 都是基于http协议来完成的
app=>因此类似与定制的浏览器和web服务器
对app进行渗透
对app进行测试 (脱壳 apk解包 Java逆向 加解密)
对web服务器进行测试
可能两个方向结合到一起
为什么不直接通过浏览器来测试web服务器 而是通过app完成测试
浏览器测试 更加的通用
1.有些功能 在浏览器上没有 在app上有
2.web服务器 上的某个功能点发生变化的时候 只对浏览器平台做了修改 而忽略了app平台
接口1 实现了a功能 (需要废弃) 换成b功能
如何对服务器进行测试
类比测试某个具体网站时的操作
1.访问目标查看目标有什么功能
2.基于网站的功能 假设网站存在漏洞 进行测试
3.抓包 尝试传入恶意数据 根据响应进行判断 是否存在漏洞
4.截图取证 出具报告
app渗透
1.安装app,检查app具有的功能
2.根据app的功能 去猜测可能存在的漏洞
3.抓包取证
截图取证
安卓平台
1.直接通过手机来安装apk 使用
需要root 安卓的操作系统 unix==linux
普通用户 root 权限 常规手段无法获取
2.模拟器 (vmware)
类似VMware 通过软件模拟手机环境 然后运行apk
安卓操作系统不信任外部证书
https相关内容需要有证书存在 bp的证书安装了也没用
先使用低版本的安卓系统进行测试(安卓7.0)
以root权限安装 将证书安装到操作系
抓包
1.设置bp的监听ip和端口
2.设置手机的代理
3.给手机安装证书 安卓证书是和浏览器使用的证书编码不一样
.der 安卓系统不接受这种类型的证书
.cer
通过浏览器导出证书 将证书导入模拟器 安装证书
OA
系统指的是面向组织的日常管理和运作,为组织高频工作行为提供解决方案的系统模块。总而言之就是为组织提升效能、降低人工成本的自动化信息平台
OA和cms差不多
cms管理网站内容 OA 管理企业运行状况
一旦OA系统出现漏洞 通杀
1.在浏览器中逆向找加密算法
首先在浏览器源代码中找对应的那一行的加密函数名 然后在浏览器的源代码-loginscript.js等类似包中通过对应的函数名找加密算法 然后在源代码中寻找具体加密算法



混淆js 调试手法进行分析 (断点调试、去混淆)
2.加密操作是通过app代码实现
测试文件上传漏洞(制作图片马)
copy 1.png/b+shell.php shell.png