专栏首页我的安全视界观【业务安全】业务安全之另类隐患

【业务安全】业务安全之另类隐患

有时候,乙方不能感受甲方的痛;

有的漏洞,乙方不会碰到甲方的场景;

不是因为技术不够强,只是由于缺少对业务足够深入的理解。

在漏洞回归的时候,也会发现新的隐患;

一条短短的验证码,可能酿成一场事故;

业务安全之另类隐患,希望和大家分享鲜有人说的点点滴滴。

1、系统登录处暴力破解


1.1 回归漏洞

某业务系统在修复安全问题,并进行部分功能调整后进行安全提测,内容如下:

接收到提测邮件后,安全测试人员首先对已知漏洞在测试环境进行验证。使用burp对登录接口进行枚举验证:

当发现可枚举问题还未修复完善时,立即停止了爆破并打回相关漏洞。

1.2 短信炸弹

一切都是常规操作,不过不久之后,有不少用户反馈收到上述业务系统发出的短信验证码。不幸的是正好命中一位公司高管,据其描述最近总收到测试环境的验证码且有多条,一声令下要求追溯发信源头,并将收到短信验证码一事定级为安全事故。由此,信息安全组便成了肇事者,身背故障分。

1.3 事故分析

登录接口设计存在缺陷:

输入用户名和密码,若验证成功则对该用户发送短信验证码

测试环境使用生产数据:

为了方便测试,开发将其他数据库的真实手机号等信息同步至相关测试数据库,导致大量真实用户收到测试环境短信验证码

提测缺失重大变更信息:

开发未同步用户的密码,系统新增的同步用户统一被设置初始弱密码,且登录接口有重大变更,未在提测信息汇总进行描述

1.4 经验教训

从安全的角度出发,在此次事件有点冤。但事已至此,吃一堑需要长一智,在痛苦的经历中学习提高,关于对业务可能造成高风险危害的操作尽量少做或不做:

漏洞扫描、漏洞利用等高危操作,尽量做到事先告知业务方

安全测试前先评估影响范围,尽量确保对业务和用户无影响

安全测试时尽可能主动了解业务形态及功能变更等多种情况

2、密码找回处暗藏危机


2.1 缺陷挖掘

某系统在密码找回处,可以通过工号或手机号进行找回。

当输入存在的工号或已注册手机号时,response返回手机号:

当输入存在的工号或已注册手机号时,系统自动发送四位数字短信验证码:

看到这里,很多人都会想到任意用户密码重置漏洞的场景:

通过第一步可以枚举出已经注册的用户,

从第二步获知纯数字的四位验证码很容易爆破,

此时还需要看看该接口是否可以枚举:

虽然用户名和密码加密,但该接口还是可以进行枚举。使用一些小技巧不难加密用户名和密码,所以该系统此处功能存在严重漏洞,且已经有利用成功的案例:

2.2 漏洞修复

面对有图有真相的任意用户密码重置漏洞,开发立即响应进入漏洞修复阶段,对用户名密码验证频率和次数进行了限制,降低了漏洞带来的风险。

2.3 暗藏危机

在回归验证时,原漏洞在和产品的沟通下,算是基本修复。

然而事情往往没这么简单,静下心来分析发现了更加隐蔽的安全隐患:

可发短信至任意用户(包括领导),同上一个场景一样,又是只有甲方才能深刻体会到的风险。

2.4 深刻体悟

业务方面的安全隐患,可能不仅仅是由于业务逻辑造成,其他不规范的操作也起到一定的助攻成分。

业务相关的漏洞修复,推动改起来甚至比web漏洞更加难,因为产品要考虑友好度和便捷性。不过也可以找到其他次之的修复方案,在安全和业务之间找到平衡点,让安全真正的为业务保驾护航。

本文分享自微信公众号 - 我的安全视界观(CANI_Security),作者:aerfa21

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【漏洞治理】漏洞调研报告(非完整版)

    “ 在大型网络安全攻防活动前夕,互联网上又出现不少漏洞治理相关文章,部分微信群也纷纷进行热议。关于漏洞的治理,仍旧是网安行业经久不衰的话题。”

    aerfa
  • 【SDL最初实践】安全响应

    “ 漏洞总是在不断的涌现,即使是前面的各项安全活动中均已达标,产品在上线后依旧会面临新增漏洞的攻击。对于安全风险的警觉和发现能力以及渠道,需要逐步建立并完善、运...

    aerfa
  • 【企业安全】企业安全项目-短信验证码安全

    aerfa
  • 手机验证码成网络犯罪"背锅侠",我来为电信运营商鸣个冤!

    需要指出的是,这是短信验证码的价值发挥,而非义务所在!凭什么手机号码就可以验证个人信息,什么时候赋予手机号码这个职能了?验证码就能替代口令与用户意志的话,还要身...

    悲了伤的白犀牛
  • 一个有意思的漏洞组合场景

    实现一个业务功能,也有着很多不同的实现方式,当业务逻辑考虑不严谨的时候,同一个业务功能模块存在着很多漏洞场景,如密码重置漏洞、商城支付漏洞等。

    Bypass
  • 图片验证码的需求分析、优雅实现

    通常我们最登录的时候,为了防止多次尝试或攻击登录接口,我们需要弄一个验证码的功能,只有输入验证码正确的情况下,我们才会去做密码校验,这样就减少了密码可能会被试出...

    java思维导图
  • 如何设计相对安全的图形验证码?

    验证码(CAPTCHA)即“Completely Automated Public Turing test to tell Computers and Huma...

    宜信技术学院
  • 使用Java制作验证码

      验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Hu...

    端碗吹水
  • 写给爬虫工程师的验证码识别教程

    但是对于一个爬虫工程师来说,去学习 机器学习相关知识可能成本太高了.(当然有空的话,还是要好好学的)

    爬虫
  • 登录注册表单渗透

    大家在甲方授权的渗透测试中,经常会遇到各种表单:登录、注册、密码修改、密码找回等表单,本技术稿着重介绍关于各种表单的渗透经验,抛砖引玉,欢迎大家交流互动。

    FB客服

扫码关注云+社区

领取腾讯云代金券