弱网环境下业务逻辑漏洞挖掘思路

admin 2024年2月16日22:53:19评论7 views字数 4069阅读13分33秒阅读模式
弱网环境下业务逻辑漏洞挖掘思路
免责声明
由于传播、利用本公众号听风安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号听风安全及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

公众号现在只对常读和星标的公众号才展示大图推送,

建议大家把听风安全设为星标,否则可能就看不到啦!

----------------------------------------------------------------------

本文章共分为两节,第一部分为弱网环境配置,第二部分为案例演示。
文章目录
        1. 为什么要进行弱网测试
        2. 常见弱网测试应用场景与测试要点
        3. 弱网测试配置
                3.1Windows + Android
                    3.1.1 测试工具简述
                    3.1.2 Charles + Android弱网测试原理
                    3.1.3 Charles弱网环境设置详解
                            1、 开启弱网
                            2、 设置网络参数
                            3、 Charles配置指定域名限速
                    3.1.4 Charles抓取手机流量设置
                            1、 charles设置代理端口
                            2、 设置捕获HTTPS端口
                            3、 电脑上安装Charles证书
                            4、 手机上设置代理
                            5、 手机安装Charles证书
        4. 案例演示
        5. 弱网环境下安全解决方案
前言:
    安全测试本身也属于业务测试过程中一个环节,业务测试中往往可能会遗漏某个功能点的测试,就会造成严重的安全隐患产生,本文不讲解常见的业务逻辑漏洞挖掘思路,只讲一个渗透测试中很容易忽略的测试手法,他就是弱网测试,正常个人PC网络环境下,一般网络传输速率波动情况比较少。
    移动端设备(手机)随身携带,出入场景较为复杂,例如:地铁里,公交车,甚至是电梯,车库等场景本身环境不太好,网络传输更容易丢包,正在使用的APP网络更容易出现异常,所以本篇文章主要讲解APP弱网环境下的安全测试。

APP弱网测试

1. 为什么要进行弱网测试

    如上述前言所示,当前APP网络环境比较复杂,网络制式有2G、3G、4G、5G等还有许多公共的wifi。不同的网络环境和网络制式的差异,APP未对不同网络环境下的网络波动产生的异常情况做正确处理,从而导致与原有业务流程处理不一,导致业务逻辑漏洞产生。

2. 常见弱网测试应用场景与测试要点

    场景1:互联网金融类APP,申购流程中创建订单后是否支付成功(涉及到扣费)
    测试点:弱网环境下,创建订单失败,用户需关注是否被扣费;创建订单成功后支付失败,再次支付是否重复扣费等。
    场景2:各类商城购物或游戏APP,优惠卷领取(涉及并发安全问题)
    测试点:弱网环境下,单账号只能领取一次优惠券,短时间高并发,低网络传输速率,查看是否可以重复领取多张优惠卷。
    例如以下情况:
    运营商APP流量领取:
弱网环境下业务逻辑漏洞挖掘思路
银行APP打车代金券领取:
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路    弱网测试要点
弱网环境下业务逻辑漏洞挖掘思路

3. 弱网测试配置

3.1Windows + Android

    Charles + 红米note11t pro
3.1.1测试工具简述
Charles
    Charles是一个功能强大的网络代理工具,可以用于HTTP/HTTPS请求、调试、记录和重放等,它还提供了弱网测试的功能。在进行弱网测试时,可以通过合理设置参数来模拟弱网环境,从而测试应用在不良网络情况下的稳定性和易用性。
红米note11t pro
安装APP并运行,测试对应功能点,发现其安全问题。
3.1.2 Charles + Android弱网测试原理
    使用Charles模拟弱网环境,使用中间人攻击方式,捕获Android移动设备上的APP传输流量,高并发发送请求,检查服务端对客户端发起的请求处理情况是否有异常。
弱网环境下业务逻辑漏洞挖掘思路
3.1.3 Charles弱网环境设置详解
PS:工具自行百度下载
1、开启弱网
            (1)点击Proxy->Start Throttling
(2)在charles主界面,点击弱网按钮(乌龟图标),直接开启弱网,开启后是绿色,未开启是灰色
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
2、设置网络参数
(1)点击Proxy——Throttle Settings——勾选Enable Throttling——再勾选Only for selected hosts——点击Add,设置指定的域名——OK;(针对指定的域名模拟弱网)
弱网环境下业务逻辑漏洞挖掘思路
(2)参数说明
序号
参数
参数详解
1
Throttle preset
截流预制。Charles官方提供可选择的网络类型
2
Bandwidth (kbps)
带宽,单位是kbps,注意b和B的区别。
3
Utilisation (%)
利用率。宽带利用率,默认100%。
4
Round-trip latency (ms)
请求往返延时。客户端向服务端发送请求到服务端返回响应给客户端的总时间。单位是毫秒。
5
MTU (bytes)
最大传输单元。如果一个数据包超过设置的最大传输单元,则需要分割为多个。
6
Reliability (%)
可靠性。数据传输过程中,丢包的百分比。
7
Stability (%)
稳定性。数据传输过程中,网络抖动造成的不稳定性。
8
Unstable quality range (%)
不稳定的质量范围,百分比,此项针对Stability中的设置内容进行设定。
(3)选可选择网速;如下图
弱网环境下业务逻辑漏洞挖掘思路
3、Charles配置指定域名限速
                1、针对全局域名进行限速
                  在弹出的throttle settings(节流阀控制)面板上,选择enable throttling(授权节流)
弱网环境下业务逻辑漏洞挖掘思路    勾选Enable Throttling处文本框,注意:只选择enable throttling而不添加其他域名,为全局节流(也就是对所有的http和https请求都生效)
    2、只针对个别的域名进行限速
弱网环境下业务逻辑漏洞挖掘思路
          先选择enable throttling(启用限制),enable的同义词是allow
第一步:在选择了only for selected hosts(只对选择的主机)后,里面配置了域名,才能对配置的域名生效。
弱网环境下业务逻辑漏洞挖掘思路
3.1.4 Charles抓取手机流量设置
1、charles设置代理端口
Proxy -> Proxy Settings,设置一下端口号,默认的是8888,这个只要不和其他程序的冲突即可,并且勾选Enable transparent HTTP proxying
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
2、设置捕获HTTPS端口
Proxy -> SSL Proxying Settings... 勾选Enable SSL Proxying,点击Add,点击Add,Host设置要抓取的https接口, 保险起见都填写 * 即可。
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
3、电脑上安装Charles证书
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
            点击确定即可。
4、手机上设置代理
点击 Help -> Local IP Address 查看网卡IP
弱网环境下业务逻辑漏洞挖掘思路
记得用网卡的IP,不要选成VMware虚拟机网卡的IP
弱网环境下业务逻辑漏洞挖掘思路
然后手机连接wifi(必须跟电脑处在同一个局域网下,也就是电脑和手机连接的wifi为同一个)
弱网环境下业务逻辑漏洞挖掘思路
连接上WiFi后
长按wifi -> 点击修改网络
弱网环境下业务逻辑漏洞挖掘思路
或者点击右边小箭头进入wifi设置
弱网环境下业务逻辑漏洞挖掘思路
    点击代理,将代理设为手动,代理服务器主机名填写电脑的IP,端口号填写为主机抓包工具的监听端口。
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
手机设置完代理IP后保存,然后Charles会弹出个安全提示,点击Deny同意即可。
弱网环境下业务逻辑漏洞挖掘思路
5、手机安装Charles证书
然后在手机浏览器上访问:http://chls.pro/ssl 下载并安装Charles的证书到手机上安装即可。
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
手机和Charles都配置好后,就可以使用弱网环境测试对应功能点了。

4. 案例演示

    拿XXapp来演示弱网测试操作(只演示操作,真实客户案例很敏感,不在此放出来)

安装好app后,抓取其流量信息,获取到要进行弱网测试的域名信息。
弱网环境下业务逻辑漏洞挖掘思路
打开charles,找到要测试的功能点处
弱网环境下业务逻辑漏洞挖掘思路
    正常走一边流程,捕获下立即领取福利的请求信息
弱网环境下业务逻辑漏洞挖掘思路
记录此请求的地址信息,然后在charles上配置要弱网测试的地址
弱网环境下业务逻辑漏洞挖掘思路
Charles 上配置指定域名地址开启弱网测试
弱网环境下业务逻辑漏洞挖掘思路
然后,重新发送验证码,输入正确的验证码去领取专属生日福利。
弱网环境下业务逻辑漏洞挖掘思路
    开启弱网测试后,客户端发起请求向服务器提交数据,网络一直在加载,过了几秒中,报异常错误。
弱网环境下业务逻辑漏洞挖掘思路
    在此请求发送还没传入到服务端前,可以高并发同时请求服务端
    使用charles的批量重放功能,多并发测试。
弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路
    可能此处功能就没对弱网环境下的请求流量信息做处理,就产生安全问题。
例如可能出现的问题:
    1.单账户按规定只能领取一个优惠卷,却领取两张。
    2.充值时,按正常充值100,利用漏洞可能多次重复重置。
    本文只为抛砖引玉,还有其他的工具也可以进行弱网测试(Fiddler、QNET、Clumsy、Network Link Conditioner、NEWT),可以自行百度去学习相关工具使用。

5. 弱网环境下安全解决方案

弱网环境下业务逻辑漏洞挖掘思路
弱网环境下业务逻辑漏洞挖掘思路

    弱网环境下造成的业务安全问题,本身是并发控制没做好。做好关键业务点的并发控制,针对不同异常情况做不同的处理措施。

对业务流量进行加密处理,防止流量信息被篡改。

原文始发于微信公众号(听风安全):弱网环境下业务逻辑漏洞挖掘思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月16日22:53:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   弱网环境下业务逻辑漏洞挖掘思路http://cn-sec.com/archives/2498162.html

发表评论

匿名网友 填写信息