只为对所学知识做一个简单的梳理,如果有表达存在问题的地方,麻烦帮忙指认出来。我们一起为了遇见更好的自己而努力!
【本篇核心思想】
app渗透和web渗透没有本质区别
在渗透测试这个领域,完全可以把这俩当成同一种东西
不管是手机APP还是电脑APP,其底层还是数据交互,只要能控制数据,就能实现测试效果
本身想直接贴一人别人写的操作步骤链接的,既然要讲,就从头到尾复习一边好了。
这里以手机为切入点,当然需要一个手机了,但是这个手机我们让它在电脑上运行,好配合我们的Burp来使用。
推荐 夜神模拟器,链接:https://www.yeshen.com/
下载之后点击安装,进入到如下界面
注意右边栏的一些常用功能,如“文件助手”,“安装APK”等
既然手机在电脑上有了 ,得考虑一下该怎么用Burp去抓这个手机的流量。
打开手机的设置,进入Wi-Fi
长按Wi-Fi 出现”修改网络“
高级选项-设置代理-手动
注意,这里不要写127.0.0.1,因为这个127.0.0.1,代表的并不是你本地的机器,而是这个模拟器的本地,所以这里要写本地的ip地址。
在去到Burp上设置这个端口和本地ip的监听
再回到手机的浏览器上访问个地址,burp就显示抓到数据包了
好了,手机抓取数据包的方式介绍完了,开始进入这次的靶场
先在模拟器上安装一个“信呼OA”
的办公app
进入APP,在又上角有一个“设置”,打开之后需要写入系统的地址
我这里就写靶场的地址
这就设置好了,这样就是app
上的操作,都会与刚刚地址的靶场进行交互
其实刚刚的靶场地址打开就是“信呼OA”
的CMS
,我等下还是直接已网站的方式进行操作【这个电脑暂时转不了模拟器,但其实网站测试的数据和app
是一样的,就是没了app
渗透的仪式感】
进入网站,都没个忘记密码功能的,看来等下只能爆破了。先弄一个数据包下来看看情况。
直接就输入admin
admin
抓取数据包,从这个数据包里,能看到好多传参数据,而且看到对我们的admin
admin
进行了账号密码加密
把这个数据包弄下来看看
rempass=0&jmpass=false&device=1621067038169<ype=0&adminuser=YWRtaW4%3A&adminpass=YWRtaW4%3A&yanzm=
这里来看看,admin
到底是怎样被加密为YWRtaW4%3A
的
看到末尾有%3A
,本能的反应是URL编码
,拿去试试看
这里解码之后,%3A
为一个冒号
,这就比较奇怪了,冒号是不应出现在这里的,因为在传参中这个有特殊意义,所以这里的冒号有蹊跷,尝试将冒号替换为等于号,然后去 base64
解码一下看看
这样就真相大白了,开发先将账号密码只加密为 base64
,然后遍历值
,将``等于号,替换为冒号
,那是不是就代表我们能爆破人家账号了呢?非也,在相同的账号密码多重放了几次,我收到了这样的返回包
看来这里还不能直接爆破,当我尝试次数多了之后,会对我们实施拦截,可是问题来了,他是如何我尝试了多次呢?再次观察这个抓取下来的数据包
这个设备id
引起了我的注意,有没有可能是通过这个来确定我尝试了多少次的,将值改变之后,在发过去试试
那这样就对了 只要我们一直替换这个设备ID
值,就能正常的去爆破账号密码,拿出我们的 base64
密码本,替换等于
为冒号
。
1替换数字,2替换字典,开始爆破。
根据爆破出来的账号密码登陆进后台,既然进了后台了,那进直接找文件上传点了
在这就看到一个文件上传点,用图片马上传了一个试试看【有关图片的制作,可以看我前面写的内容,链接:渗透测试基础 - 文件上传漏洞 (上)】
上传数据包抓住,设置一个抓返回包,
在这个返回的数据包里面看到了,传上去之后,这个图片所在目录在哪。
就然有位置,那就去访问一下看看
能访问,但是没数据,那来都来了,和不试一下CGI解析漏洞【CGI解析漏洞前面也有 ,链接:渗透测试基础 - 文件上传漏洞 (下)
这样就能拿着这个去链接服务器了。
APP渗透与普通的渗透测试无差别,所有防护方攻击方式也基本一样
以这里的靶场为例子来做防护的方法的话,建议一下几点:
cgi.fix_pathinfo=1
nginx
配置文件中,这个参数值改为0
,可避免CGI解析漏洞
《最好的防御,是明白其怎么实施的攻击》